我的config/routes.rb
中的一个条目:
get "enumerators/job_type", to: "enumerators#job_type"
如您所见,URL路径和它在控制器中对应的方法名称是相同的。 Rails是否在这种情况下提供了简写?
是的!只要您的控制器名称为get "enumerators/job_type"
且方法为EnumeratorsController
,Rails魔术就会让您在路径文件中写入:job_type
请记住,您可以通过运行bundle exec rake routes
来检查它创建的路线
您可以使用如下命名空间:
namespace :enumerators do
get "job_type"
end
更多信息命名空间:
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
混合这两个答案,这是最糟糕的路由方式:
namespace :enumerators do
get "job_type"
get "something_else"
end
get "enumerators/job_type"
get "enumerators/something_else"
get "enumerators/job_type", to: "enumerators#job_type"
get "enumerators/something_else", to: "enumerators#something_else"