我想将Rails 4应用程序升级到5.0.0.beta2。目前,我routes.rb
通过设置将文件分为多个文件,config.paths["config/routes.rb"]
例如
module MyApp
class Application < Rails::Application
config.paths["config/routes.rb"]
.concat(Dir[Rails.root.join("config/routes/*.rb")])
end
end
似乎rails 5.0.0.beta2也公开了,config.paths["config/routes.rb"]
但是上面的代码不起作用。如何routes.rb
在Rails 5中分割文件?
如果您在具有数千条路由的大型应用程序中工作,则单个config/routes.rb
文件可能会变得繁琐且难以阅读。
Rails提供了一种routes.rb
使用draw宏将巨大的单个文件分解为多个小文件的方法。
# config/routes.rb
Rails.application.routes.draw do
get 'foo', to: 'foo#bar'
draw(:admin) # Will load another route file located in `config/routes/admin.rb`
end
# config/routes/admin.rb
namespace :admin do
resources :comments
end
draw(:admin)
在Rails.application.routes.draw
块本身内部调用将尝试加载与给定参数具有相同名称的路由文件(admin.rb
在这种情况下)。该文件需要位于config/routes
目录或任何子目录(即config/routes/admin.rb
或config/routes/external/admin.rb
)内。
您可以在admin.rb
路由文件中使用普通的路由DSL ,但不要Rails.application.routes.draw
像在主config/routes.rb
文件中那样用块将其包围。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句