如何在不更改控制器名称的情况下更改URL的显示方式? (Rails4)
这是我的static_pages_controller.rb
class StaticPagesController < ApplicationController
def example
end
end
这是我的routes.rb
get 'static_pages/example'
所以&#34; rake路线&#34;给出
static_pages_example GET /static_pages/example(.:format) static_pages#example
网址现为test.com/static_pages/example
如果不更改控制器名称,我怎么能将其更改为例如:test.com/pages/example?这就是&#39; static_pages&#39;总会重定向到例如&#39;页面&#39;
答案 0 :(得分:2)
在routes.rb
中重写您的路线get 'pages/example', to: 'static_pages#example'
答案 1 :(得分:1)
#config/routes.rb
resources :static_pages, path: "pages" do #-> url.com/pages/example
get :example, on: :collection
end
Rails路由结构实际上非常通用。
以上是你应该做的事情(请注意path:
switch)。
如果您想使用独立路线(如您的示例所示),您可以使用以下内容:
#config/routes.rb
scope module: 'pages' do
get :example, to: "static_pages#example" #-> url.com/pages/example
end
...或
#config/routes.rb
get "pages/example", to: "static_pages#example" #url.com/pages/example