Ruby on rails 4 更改Rails4路由资源中parent:parent_id参数的名称

Ruby on rails 4 更改Rails4路由资源中parent:parent_id参数的名称,ruby-on-rails-4,routes,Ruby On Rails 4,Routes,我可以使用更改路由中:id参数的名称,但这可以更改嵌套资源的参数,就像我有 resources :companies, param: :company_id do resources :shares, only[:index] end 这将生成类似于 /companies/:company_company_id/shares 这是错误的我想要这样的路线 /companies/:company_id/shares 我需要做什么?我以前经历过这一点,并获得了下面的解决方案。。。虽然很难看,

我可以使用更改路由中:id参数的名称,但这可以更改嵌套资源的参数,就像我有

resources :companies, param: :company_id do
  resources :shares, only[:index]
end
这将生成类似于

/companies/:company_company_id/shares
这是错误的我想要这样的路线

/companies/:company_id/shares

我需要做什么?

我以前经历过这一点,并获得了下面的解决方案。。。虽然很难看,但我还没有找到更好的方法

更改:

resources :companies, param: :company_id do
  resources :shares, only: [:index]
end
至: (只注意空白<代码>:[] < /代码>)

现在,当您运行
rake routes
时,您将看到正确的:

/companies/:company_id/shares(.:format)
除了所有其他
公司
端点之外:

/companies(.:format)
/companies(.:format)
/companies/new(.:format)
/companies/:company_id/edit(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)

都保持相同的
:公司id
参数名称。

您可以在这里找到一个解决方案-
/companies(.:format)
/companies(.:format)
/companies/new(.:format)
/companies/:company_id/edit(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)
/companies/:company_id(.:format)