一切都需要路线命名?

时间:2012-08-27 19:09:53

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

通常在rails项目中,我有一个“内容”控制器,其中包含各种页面,如关于我们页面,联系我们页面和介绍页面等。

我经常做类似

的事情
match '/content/:action', :controller => 'content'
在routes.rb文件中

,但我不知道如何在我的视图中引用它。

引用它们的目的是什么? 是吗:

= link_to "Help", '/dashboard/help'

或者我是否需要为这些内容创建命名路由?

2 个答案:

答案 0 :(得分:0)

不,您不需要命名路线,但这是惯例。您也可以执行以下操作:

<%= link_to "Help", {controller: 'dashboard', action: 'help' } %></li>

在路线文件中,它看起来像:

match '/help', to: 'dashboard#help'

只要你以某种方式映射它,即使做resources :dashboard它也会有效。这里有一点额外的帮助the guide on Routing in Rails。您还可以使用rake routes命令列出所有路线,它将列出如下路线:

 help        /help(.:format)                static_pages#help
     about        /about(.:format)               static_pages#about
   contact        /contact(.:format)             static_pages#contact

这意味着,在这种情况下,您可以使用help_path,about_path和contact_path。

答案 1 :(得分:-1)

是的,您最好使用

创建命名路由
:as => "dashboard_help"

并且在你的路线中你会有

link_to "Help", :dashboard_help_path