如何在rails 4中重新加载routes / config / routes / *?

时间:2013-09-19 19:02:59

标签: routes ruby-on-rails-4 reload

如何强制rails 4重新加载所有路径文件?
无需重新启动应用程序即可使/config/routes/.rb中的路由加载* 我在/config/routes/.rb中将它们分开了 但是这些/ config / routes / 文件没有重新加载。

这适用于rails 3但不适用于4:

#config.paths['config/routes'].unshift *Dir["config/routes/*.rb"]

3 个答案:

答案 0 :(得分:11)

您可以使用:

Rails.application.reload_routes!

您可以read about it here(必须使用find

答案 1 :(得分:4)

config.paths["config/routes.rb"] << YOUR_ROUTE_FILE

答案 2 :(得分:0)

在Rails 3中,如果要将routes.rb文件拆分为多个文件,我们必须将此行添加到application.rb:

config.paths['config/routes'].concat Dir[Rails.root.join("config/routes/*.rb")]

...以及config/routes/*.rb个文件中的相应路由 像这样:

TestApp::Application.routes.draw do
  namespace :api do
    resources :test
  end
end

在Rails 4中,Rails不再在["config/routes"]中提供Rails::Engine.paths密钥。但是,在Rails 4中,无需在config.path中添加application.rb

只需在config/routes/*.rb下添加相应的路线。