Rails:使用嵌套命名路由
routes.rb:
resources :jobs do
resources :activitylogs
end
rake 路线:
...
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
也是如此,我看到的大多数示例都在使用它。
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"}
...
How do I use the route new_job_activitylog
?
Doing <%= new_job_activitylog %>
gives undefined exception - so does using link_to
which most of the examples I see are using.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
或
_path
返回相对路径,而_url
返回完整的 url,包括http://domain.com
(如果您已设置)你的配置。Use
or
_path
returns a relative path, while_url
returns a complete url includinghttp://domain.com
if you've set it in your config.要使用这些路由名称,我只需将
_path
附加到它们。所以:
new_job_activitylog
是未定义的,但是new_job_activitylog_path
是视图中的一个方法,它将作业id作为参数。作品!
To use those route names, I just had to append
_path
to them.So:
new_job_activitylog
is undefined, butnew_job_activitylog_path
is a method in the view that takes the job id as a parameter.works!