我在应用程序中设置了以下路由(表单属于站点):
map.resources :sites do |site|
site.resources :forms
end
但是,当我尝试使用辅助工具进入表单的编辑路径时(例如
edit_site_form_path(form)
要么
<%= link_to 'Show', [:site, form] %>
我的网址以ID换成(/ sites / 5 / forms / 1)的形式出现,其中5是表单ID,而1是站点ID。这是从/ sites / 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
)关于ruby-on-rails - 奇怪的Rails路由行为:在嵌套资源中交换了两个ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/761360/