很多时候,在 Rails 项目中,我有一个“内容”控制器,其中包含杂项页面,例如关于我们页面、联系我们页面和介绍页面等。
我通常会做类似的事情
match '/content/:action', :controller => 'content'
在 routes.rb 文件中,但我不知道如何在我的视图中引用它。
引用它们的预期方式是什么?是吗:
= link_to "Help", '/dashboard/help'
或者我是否需要为这些事情中的每一个创建一个命名路线?
很多时候,在 Rails 项目中,我有一个“内容”控制器,其中包含杂项页面,例如关于我们页面、联系我们页面和介绍页面等。
我通常会做类似的事情
match '/content/:action', :controller => 'content'
在 routes.rb 文件中,但我不知道如何在我的视图中引用它。
引用它们的预期方式是什么?是吗:
= link_to "Help", '/dashboard/help'
或者我是否需要为这些事情中的每一个创建一个命名路线?
不,您不需要命名路线,但这是惯例。您也可以执行以下操作:
<%= 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。
是的,您最好使用创建命名路由
:as => "dashboard_help"
在您的路线中,您将拥有
link_to "Help", :dashboard_help_path