2013-03-20 58 views
1

当我运行rails generate controller Pages index sample_page它创建了我的两个控制器。我可以在localhost:3000/sample_page看到该页面,但是如何将其更改为在网址中显示破折号而不是下划线,即:localhost:3000/sample-pageRuby on Rails - 如何在URL中使用破折号而不是下划线?

当您使用破折号创建控制器时,Rails不喜欢它,所以我必须使用下划线。我需要添加到我的routes.rb文件?

谢谢!

回答

2

请注意,您应该为您的页面创建一个控制器。

要回答你的问题,你可以做一些定制的路线,例如:

match '/about-us' => 'pages#about' 
    match '/contact-us' => 'pages#contact' 
    match '/terms-and-conditions' => 'pages#terms' 
+0

谢谢!你如何建议我使用一个控制器。不是页面控制器?索引和sample_page是观点?如何创建一个具有多个视图的控制器? – Zach 2013-03-20 04:54:53

+0

我只需要将'::as =>'about''添加到每行的末尾。 – Zach 2013-03-22 02:35:34

+0

使用“匹配”而不是“得到”在我的情况下造成了一个错误,但除此之外,这工作。谢谢! – 2014-06-13 06:32:44

4

使用路径路由

resources :pages do 
    collection do 
    get :contact_us, path: "contact-us" 
    end 
end 
+0

当我把它放在我的routes.rb文件中时,我得到一个错误(意外的:)。它应该在哪里去?我尝试在我的routes.draw做和它的外面。 – Zach 2013-03-22 02:17:59

+0

对不起,我的错误取出后冒号(:), 应该是 得到:contact_us,路径:“联系我们” – jbmyid 2013-03-22 06:06:11

相关问题