【问题标题】:Strange Rails Routing behaviour: two ids swapped around in nested resources奇怪的 Rails 路由行为:两个 id 在嵌套资源中交换
【发布时间】:2009-04-17 17:22:04
【问题描述】:

我在我的应用程序中设置了以下路由(表单属于站点):

map.resources :sites do |site| 
 site.resources :forms
end 

但是,当我尝试使用帮助程序(例如

edit_site_form_path(form)

<%= link_to 'Show', [:site, form] %>

我的 URL 出现的 ID 已交换 ( /sites/5/forms/1 ),其中 5 是表单 ID,1 是站点 ID。这是来自页面 /sites/1。

帮助(?)

【问题讨论】:

    标签: ruby-on-rails routing


    【解决方案1】:

    edit_site_form_path 方法必须有两个参数,site_id 和 form_id。因此,在您的示例中,您只传递了 form_id。第一个参数是方法中最先出现的模型,在本例中为site。第二个参数是form_id。

    修改后的路径方法可能如下所示

     edit_site_form_path(form.site, form)
    

    (假设你有一个模型 Form 其中belongs_to :site

    【讨论】:

    • 宾果游戏 - 我想我爱你,这让我发疯了 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    相关资源
    最近更新 更多