我有一个UserStory模型和一个Task模型,我希望让用户动态地将任务添加到用户故事我所说的是将用户故事ID传递给任务创建操作可以让任何人帮助我吗?
user_stories / show
<%= link_to "Add new task",{:controller => ':tasks', :action => :new},:user_story_id: = >@user_story.id, remote: true %>
任务/ new.js.erb
$('#new_task_link').hide().after('<%= j render :partial => "form" %>');
和tasks / _form
<%= f.hidden_field :user_story_id, :value => params[:user_story_id] %>
答案 0 :(得分:3)
将您的任务资源嵌套在config / routes.rb中的user_stories资源下:
resources :user_stories do
resources: tasks
end
您的链接将变为:
<%= link_to "Add new task", user_story_tasks_path(@user_story.id) %>
在TasksController中,您现在可以访问:user_story_id
中的params
。
Rails Cast涵盖了此内容。它有点过时(在config / routes.rb中不再需要map
),但基本概念仍然相同。