我在路线中有以下内容:
resources :projects do
resources :schedules
end
我正在尝试进入节目时间表页面。耙路线列出了这个:
project_schedule GET /projects/:project_id/schedules/:id(.:format) schedules#show
我在另一页上有以下链接到时间表#show page:
<%= link_to 'Show Schedule', project_schedule_path(project.id, schedule.id) %>
该页面返回以下错误:
Couldn't find Schedule with id=26
以下是参数:
{"project_id"=>"26",
"id"=>"48"}
我知道这些id存在一个时间表,因为我可以在控制台中找到它:
<Schedule id: 48, project_id: 26, created_at: "2013-11-25 19:08:00", updated_at: "2013-11-25 19:08:00">
为什么链接不起作用?感谢。
答案 0 :(得分:1)
尝试
<%= link_to 'Show Schedule', project_schedule_path(schedule.id, project.id) %>
答案 1 :(得分:1)
看起来您正在尝试使用项目的ID来查找计划。
我会在您的控制器中执行此操作:
# find the parent model first
@project = Project.find params[:project_id]
# now get its associated schedule:
@schedule = @project.schedules.find params[:id]
您也可能在link_to帮助器中向后退。您可以尝试使用快捷方式:
link_to 'Schedule', [project, schedule]
转换为project_schedule_path