1

路线.rb:

resources :jobs do
  resources :activitylogs
end

耙路线:

...
                     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我看到的大多数示例也是如此。

4

2 回答 2

4

采用

<%= new_job_activitylog_path %>

或者

<%= new_job_activitylog_url %>

_path返回一个相对路径,同时_url返回一个完整的 url,包括http://domain.com你是否在你的配置中设置了它。

于 2011-05-22T23:34:00.437 回答
0

要使用这些路线名称,我只需要附加_path到它们。

So:new_job_activitylog是未定义的,但new_job_activitylog_path它是视图中将作业 ID 作为参数的方法。

<%= link_to 'new', new_job_activitylog_path(:job_id => @job.id) %>

作品!

于 2011-05-22T23:33:51.823 回答