【问题标题】:Rails: using nested named routesRails:使用嵌套命名路由
【发布时间】:2011-05-22 23:29:09
【问题描述】:

routes.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 也是如此。

【问题讨论】:

    标签: ruby-on-rails routes nested-routes


    【解决方案1】:

    使用

    <%= new_job_activitylog_path %>
    

    <%= new_job_activitylog_url %>
    

    【讨论】:

      【解决方案2】:

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

      所以:new_job_activitylog 是未定义的,但 new_job_activitylog_path 是视图中的一个方法,它以作业 id 作为参数。

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

      有效!

      【讨论】:

        猜你喜欢
        • 2013-09-23
        • 2015-03-19
        • 2011-11-07
        • 1970-01-01
        • 2018-03-15
        • 2013-10-09
        • 1970-01-01
        • 2012-05-10
        • 2011-12-01
        相关资源
        最近更新 更多