routes.rb中:
resources :jobs do
resources :activitylogs
end
rake routes:
...
POST /jobs/:job_id/activitylogs(.:format) {:controller=>"activitylogs", :action=>"create"}
new_job_activitylog GET /jobs/:job_id/activitylogs/new(.:format) {:controller=>"activitylogs", :action=>"new"}
edit_job_activitylog GET /jobs/:job_id/activitylogs/:id/edit(.:format) {:controller=>"activitylogs", :action=>"edit"}
...
如何使用路线new_job_activitylog
?
执行<%= new_job_activitylog %>
会给出未定义的异常 - 使用我看到的大多数示例正在使用的link_to
也是如此。
答案 0 :(得分:4)
使用
<%= new_job_activitylog_path %>
或
<%= new_job_activitylog_url %>
_path
会返回相对路径,而_url
会返回包含http://domain.com
的完整网址(如果您已在配置中设置它)。
答案 1 :(得分:0)
要使用这些路线名称,我只需将_path
附加到它们。
所以:new_job_activitylog
未定义,但new_job_activitylog_path
是视图中的一个方法,它将作业ID作为参数。
<%= link_to 'new', new_job_activitylog_path(:job_id => @job.id) %>
作品!