我可以让控制器以不同的名称显示在URL中吗?

时间:2015-02-15 04:24:46

标签: ruby-on-rails ruby routing routes rails-routing

我有一个名为" Pages"的控制器。我可以用不同的名字将它显示在网址栏中吗?例如,当我渲染' show'模板,它显示在此网址下:localhost:3000/pages/:id。我可以将其显示为localhost:3000/people/:id吗?我只关心' show'网址;其他网址并不重要。

的routes.rb

get "pages/results"
get "pages/index" => "pages#index", as: "index_page"
resources :pages do
  resources :categories
end

2 个答案:

答案 0 :(得分:2)

添加您的路线:

get '/people/:id', to: 'pages#show'

从资源中删除旧的show route:

resources :pages, only: [:index, :new, :create, :edit, :update, :delete] do
  resources :categories
end

请参阅:Rails guides about rounting

答案 1 :(得分:1)

您可以这样使用:

 get '/pages/:id' => "pages#show", path: 'people/:id'

这样您就可以在浏览器中访问特定的显示页面。 希望这会对你有所帮助。