我有很大的routes.rb文件,我想分成多个可管理的文件。
正如下文所述,我为路径创建了单独的文件夹,并在此文件夹中创建了多个路径文件 链接:http://rails-bestpractices.com/posts/73-split-route-namespaces-into-different-files
routes.rb
routes/user.rb
routes/manager.rb
routes/admin.rb
routes/anonymous.rb
在我的application.rb中,我设置了config.paths值。我使用了各种可能的组合,但我仍然无法加载所有辅助路由文件。
以下是我在application.rb文件中设置config.paths的代码列表。没有人在为我工作。
config.paths["config/routes"].concat(Dir[Rails.root.join("config/routes/*.rb")])
config.paths["config/routes"] = Dir[Rails.root.join("config/routes/*.rb")]
config.paths["config/routes"] = Dir[Rails.root.join("config/routes/*.rb")].each{|r| config.paths["config/routes"].unshift(r) }
config.paths.config.routes.concat Dir[Rails.root.join("config/routes/*.rb")]
感谢有人可以帮助我。请注意我使用的是Rails 3.2.1。我确信以上拆分路由的技术将适用于以前版本的Rails,但我无法使用3.2.1实现。
答案 0 :(得分:4)
好的。我能够在main routes.rb中加载所有辅助路由。看起来很脏但它在Rails 3.2.1中工作。
Acme::Application.routes.draw do
resources :users
Dir[Rails.root.join("config/routes/*.rb")].each{|r| load(r)}
resources :messages
match '*path' => 'cms/pages#show'
root :to => "home#index", :port => false
end
非常欢迎任何更清洁的方法。