2016-07-20 77 views
0

我读过几篇文章,但还没有找到明确的解决方案。Rails:从URL中删除控制器

我想从URL中删除控制器。我得到这个:

localhost:3000/pages/services 

但我想这一点:

localhost:3000/services 

这是我的路线文件现在:

Rails.application.routes.draw do 

    root 'pages#index' 

    get 'pages/services' 

    get 'pages/specials' 

    get 'pages/events' 

    get 'pages/about' 

end 

我怀疑我需要在这里做一些事情,但我一直无法找到一个体面的教程。有什么建议么?

+0

你试试这种方法吗? http://stackoverflow.com/questions/24496657/rails-remove-controller-path-from-the-url –

+0

我看到了这篇文章,但我并没有真正理解它。我会花更多的时间去理解,但我在寻找关于这个概念的参考。我浏览了rails文档,但没有看到类似于我想要的内容。 – PudparK

回答

5

试试这个:

match 'services' => "pages#services", :as => :services 

可以使用任何路由指定一个名称:作为选项。

请参阅here

+0

我会如何链接? – PudparK

+1

'<%= link_to“text,services_path%>',您可以运行'rake routes> routing.log',然后运行'vi routing.log'。在日志中,您可以找到路径名称。 –

+0

Got it!我说得对,但直到我注意到我没有改变所有的路径,它才奏效。谢谢! – PudparK

-1

我只想这个替换它:

Rails.application.routes.draw do 
    root '#index' 
end 
+0

其他意见呢? – PudparK

相关问题