0

很多时候,在 Rails 项目中,我有一个“内容”控制器,其中包含杂项页面,例如关于我们页面、联系我们页面和介绍页面等。

我通常会做类似的事情

match '/content/:action', :controller => 'content'

在 routes.rb 文件中,但我不知道如何在我的视图中引用它。

引用它们的预期方式是什么?是吗:

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

或者我是否需要为这些事情中的每一个创建一个命名路线?

4

2 回答 2

0

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

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

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

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

只要你以某种方式映射它,即使这样做resources :dashboard也会奏效。如需更多帮助,请参阅 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。

于 2012-08-27T19:27:40.720 回答
-1

是的,您最好使用创建命名路由

:as => "dashboard_help"

在您的路线中,您将拥有

link_to "Help", :dashboard_help_path
于 2012-08-27T19:26:27.717 回答