11

如何强制 rails 4 重新加载所有路线文件?
也就是说,无需重新启动应用程序即可加载来自 /config/routes/ .rb 的路由* 我在 /config/routes/ .rb 中将它们拆分,但不会重新加载这些 /config/routes/文件。

这在rails 3中有效,但在rails 4中无效:

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

3 回答 3

14

您可以使用:

Rails.application.reload_routes!

你可以在这里阅读它(必须使用find

于 2014-02-27T15:07:45.377 回答
6
config.paths["config/routes.rb"] << YOUR_ROUTE_FILE
于 2013-11-05T19:09:13.607 回答
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.pathapplication.rb.

只需在config/routes/*.rb.

于 2013-10-18T08:09:34.073 回答