通过单击项目名称显示任务列表

Show a tasks list by clicking on project name

本文关键字:显示 任务 列表 单击 项目      更新时间:2023-09-26

我有两个模型Project和Task。每个项目都有很多任务。

项目索引页上有一个项目列表。

和我想,当用户单击项目名称,项目的任务列表显示除了项目列表

我也试过。

application.js

$(document).ready(function(){
  $('#projects').on('click', 'h2', function(){
    $('#tasks').append("<%= escape_javascript render(:file => 'tasks/index.html.erb') %>");
  });
});

将application.js文件扩展名更改为js.erb是否正确?

是我工作的结果_project.html.erb

<%= link_to " #{project.title} tasks list", project_tasks_path(project), :remote => true %>

task_controller.rb

  def index
@project = Project.find(params[:project_id])    
@tasks = @project.tasks
respond_with @tasks

结束

index.js.erb

$('#project-tasks').html("<%= j render :file => 'projects/tasks/_tasks', :locals => { :tasks => @tasks }  %>");

_tasks.html.erb

<%= render @tasks %>

您应该使用rails的方式来做到这一点。使用ajax调用和制作js。Erb文件来更新视图。

我认为最好将其保存为something .js.erb,而不要更改application.js

你不能将应用程序js重命名为其他东西。最好制作新的js。Erb文件,然后把你的代码放到里面