我在我的应用中使用的路线为foo_path
=> /foo
现在,我将此路线迁移到另一个应用程序,该应用程序以不同的方式定义网址路径/deep/path
,并且不同地命名query_paramters
控制器过去使用的foo_path
。
我希望覆盖foo_path
方法,以便现在在视图中调用时返回/deep/path
而不是/foo
,控制器...同时转换一些查询参数名称
我在stackoverflow找到了一些答案,但他们使用的方法似乎不再适用于rails 4.2.7 这是我目前正在使用的rails版本。< / p>
如何在所有应用中覆盖foo_path
方法,以便在 rails 4.2.7 中返回/deep/path
而不是/foo
,同时可以进行操作query_parameters
?
答案 0 :(得分:0)
您需要做的是拥有一条命名路线。
例如,假设您的旧路径已标识为foo
,并且您将其视为foot_path
。
然后你可以在routes.rb中做这样的事情。
'/bar', to: 'controller#action', as: :foo
这样foo_path
现在会给/bar
参考:http://guides.rubyonrails.org/routing.html#overriding-the-named-helpers