Ruby on rails 有条件地重命名Rails 3个路由
出于市场营销的原因,我需要更新我们的应用程序的路由,以便在不接触控制器名称的情况下,将一个词替换为另一个词 例如:Ruby on rails 有条件地重命名Rails 3个路由,ruby-on-rails,routes,Ruby On Rails,Routes,出于市场营销的原因,我需要更新我们的应用程序的路由,以便在不接触控制器名称的情况下,将一个词替换为另一个词 例如: /foo_campaigns/1 becomes /bar_campaigns/1 /foo_campaigns/accounts_foo/1 becomes /bar_campaigns/accounts_bar/1 手动方式是: resources :foo_campaigns, :path => 'bar_campaigns' do
/foo_campaigns/1 becomes /bar_campaigns/1
/foo_campaigns/accounts_foo/1 becomes /bar_campaigns/accounts_bar/1
手动方式是:
resources :foo_campaigns, :path => 'bar_campaigns' do
match :accounts_foo, :path => 'accounts_bar'
end
但我正在寻找一种被动的方法来实现这一点,每次我创建一个包含单词“foo”的新控制器或操作时,它的路径都是“bar”。也许这是您可能希望在web服务器配置中执行的操作?类似于我正在使用Rack Rewrite gem进行一些重定向,但是对于这个任务,我需要实际使用本机路由。我需要200个响应(不是301s),并且不能允许较慢的响应。使用mod_rewrite,您可以更改应用程序看到的url,而无需重定向:好的,您也可以使用Rack rewrite。问题是,这似乎无法与控制器和操作本身进行通信,从而导致错误:“无法为FooController找到操作‘bar’”