当URL路径与方法名称相同时,Rails路由速记?

问题描述 投票:0回答:3

我的config/routes.rb中的一个条目:

get "enumerators/job_type", to: "enumerators#job_type"

如您所见,URL路径和它在控制器中对应的方法名称是相同的。 Rails是否在这种情况下提供了简写?

ruby-on-rails url-routing
3个回答
1
投票

是的!只要您的控制器名称为get "enumerators/job_type"且方法为EnumeratorsController,Rails魔术就会让您在路径文件中写入:job_type

请记住,您可以通过运行bundle exec rake routes来检查它创建的路线


1
投票

您可以使用如下命名空间:

namespace :enumerators do 
  get "job_type" 
end

更多信息命名空间:

http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing


1
投票

混合这两个答案,这是最糟糕的路由方式:

  1. 最好 namespace :enumerators do get "job_type" get "something_else" end
  2. 更差 get "enumerators/job_type" get "enumerators/something_else"
  3. 最差 get "enumerators/job_type", to: "enumerators#job_type" get "enumerators/something_else", to: "enumerators#something_else"
© www.soinside.com 2019 - 2024. All rights reserved.