ruby-on-rails - 奇怪的 Rails 路由行为 : two ids swapped around in nested resources

标签 ruby-on-rails routing

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

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。

帮助(?)

最佳答案

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 路由行为 : two ids swapped around in nested resources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/761360/

相关文章:

networking - 172.0.0.1 和 192.168.0.1 到底有什么区别?

javascript - 在 Chrome 扩展中使用 VueRouter 和 Vue.js - 路径段问题

ruby-on-rails - 我可以在没有 Controller 的情况下直接从 routes.rb 渲染布局吗?

ruby-on-rails - 在 Rails 中缓存 yaml 文件

ruby-on-rails - 类方法和期望参数

ruby-on-rails - Rails 5 + postgresql 多个字段的表引用关系

ruby-on-rails - ruby 中 CSV.open( ) 的第二个参数/参数是什么?

ruby-on-rails - VirtualBox 下 Ubuntu 11.10 上的 Rails 3.1 非常慢

asp.net-mvc - Asp.net MVC 路由不明确,同一页面有两条路径

ruby-on-rails - 设计/用户/确认路线