【发布时间】:2013-01-02 15:33:31
【问题描述】:
我的路线如下所示:
resources :projects do
resources :tasks
end
这会为您提供如下 URL:URL/projects/14/tasks/3
模型定义:
project has_many :tasks
task belongs_to :project
现在,当用户单击任务的链接时,我正在通过远程 => true 链接从项目的显示视图中将 tasks#show 加载到 div 中。这工作正常。
#tasks/show.js.erb
$('#task_content').html("<%= j render(partial: 'tasks/single', locals: { t: @task }) %>");
#tasks/_single.html.erb
<%= t.content %>
问题是我希望用户能够访问 URL/projects/14/tasks/3 并将任务自动加载到项目视图上的 div 中。
基本上,我需要找到一种方法让URL/projects/14/tasks/3 实际渲染URL/projects/14,并调用jquery $('a#task_<%= task.id %>').click()
我似乎无法弄清楚如何让视图识别这种行为。谁能指出我正确的方向?
谢谢!!!
编辑
#TasksController
def show
@task = Task.find(params[:id])
respond_to do |format|
format.js
end
end
#ProjectsController
def show
@project = Project.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
end
Projects#show 有两个主要元素:
- id 为 task_ 的链接
- 任务所在的 div 内容应加载到 (div#task_content)
【问题讨论】:
标签: jquery ruby-on-rails ajax nested-resources