【问题标题】:Rails routes.rb use get to add suffix to pathRails routes.rb 使用 get 给路径添加后缀
【发布时间】:2016-09-19 08:45:08
【问题描述】:

我正在尝试弄清楚如何在 rails 中构建这条路线:

resources :cases do
  resource :profile do
    get 'regions', :to => "cases#regions"
  end
end

此代码将生成方法 case_regions_profile_path,但我希望它颠倒:case_profile_regions_path,是否可以使用 get 'rule'?我只想将此路径指向具有特定操作的控制器。

【问题讨论】:

  • 你能解释一下你为什么要这样做吗?

标签: ruby-on-rails ruby routes


【解决方案1】:

您使用了resource 而不是resources 的错字profiles

resources :cases do
  resources :profile do
    get 'regions', :to => "cases#regions"
  end
end

这会生成:

case_profile_regions GET  /cases/:case_id/profile/:profile_id/regions(.:format) cases#regions

【讨论】:

  • 在我的情况下,它应该是:get 'profile/regions' 我使用了许多这样的匹配项,并且配置文件资源将被重复:get 'profile/regions' get 'profile/associates' ... .. 等我正在寻找一些更优雅(短)的解决方案
  • 我已经更新了问题,还有另一个父路由规则,通过这个解决方案,我得到了 profile_case_regions_path。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 2014-06-20
  • 1970-01-01
  • 2015-01-30
相关资源
最近更新 更多