【问题标题】:Single custom param name in routes for nested resources Rails 4.1嵌套资源的路由中的单个自定义参数名称 Rails 4.1
【发布时间】:2014-06-11 10:12:43
【问题描述】:

我对 Rails 路由中嵌套资源的参数名称有疑问 例如我有:

resources :controller1, param: :controller_id do
  resources :controller2
end

我有路线:

controller1/:controller_id/
...
controller1/:controller_controller_id/controller2/...
...

我想要一个 :controller_id 用于 controller1 我知道它看起来很糟糕,但是 这是怎么做的? 谢谢!

【问题讨论】:

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

这个怎么样:

resources :controller1, param: :controller_id do
  member do
    resources :controller2
  end
end

会生成

GET    /controller1/:controller_id
GET    /controller1/:controller_id/controller2
GET    /controller1/:controller_id/controller2/:id
...

【讨论】:

  • 那么你必须修复你的嵌套资源路径助手,因为它们是绝对的,new_controller2_path 而不是new_controller1_controller2_path
【解决方案2】:

试试这个看看;

resources :controller1, param: :controller_id, path: "" do
  resources :controller2, path: ""
end

【讨论】:

  • 谢谢,但不,我有用于嵌套请求的 controller_controller_id
  • @user3049436 你想要嵌套资源还是父资源?
  • 我想要它作为父资源和嵌套资源,例如:controller1/:controller_id /controller1/:controller_id/controller2/...
猜你喜欢
  • 2014-08-22
  • 1970-01-01
  • 1970-01-01
  • 2019-10-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 2011-06-13
  • 2016-04-05
相关资源
最近更新 更多