我是Ruby on Rails的新手,我在学习期间一直在研究一个项目,但我遇到了一个问题。我正在尝试设置从“任务”控制器下的视图到新时间轨迹视图的链接。我试图像这样链接视图:
<%= link_to "New Timetrack", new_project_list_task_timetrack_path(@project, @list, @task) %>
我收到了这个错误:
没有路线匹配{:action =&gt;“new”,:controller =&gt;“timetracks”,:project_id =&gt; nil,:list_id =&gt;#&lt;列表ID:1,名称:“测试”,描述:“测试”,created_at:“2013-12-18 21:00:39”,updated_at:“2013-12-18 21:00:50”,project_id:1 ,默认:nil&gt;,:task_id =&gt;#&gt;任务ID:1,说明:“第一个任务”,已完成:false,list_id:1,created_at:“2013-12-18 21:00:57”,updated_at :“2013-12-18 21:00:57”,默认:nil&gt;}
我确保时间跟踪控制器中有一个“新”动作。我正在创建上面的链接,因为我看到Rails脚手架项目和列表之间的关系是这样的:
<%= link_to "Create To-Do", new_project_list_path(@project) %>
所以我很难过,想要一些帮助。感谢任何信息!
答案 0 :(得分:0)
尝试使用 new_project_timetrack_path
如果它无能为力,请查看bash命令rake routes
的输出并找到您需要的路径。
答案 1 :(得分:0)
必须是这样的行:
resources :projects do
resources :lists do
resources :tasks do
resources :timetracks
end
end
end
然后rake编译路径,如
host:3000/projects/<project_id>/lists/<list_id>/tasks/<task_id>/timetracks/new
我希望这可以帮到你。