在rails 3.1.1中,我在routes.rb中将admin_root_path设置为:
namespace :admin do
root :to => "base#index"
resources :users
end
admin / base_controller上指向索引操作的路由。 但由于我无法控制的原因,我必须将我的rails 3 app降级到v2.3.14。 我试过了:
map.namespace :admin do |admin|
admin.resources :users, :controller => "base", :action => "index"
end
没有运气。我知道问一个“让我的新代码老了”的问题很奇怪,但是到底是什么。我猜这就是为什么我不是老板?
谢谢, 克里斯
答案 0 :(得分:1)
据我所知,你有两个选择:
map.namespace :admin do |admin|
admin.root :controller => "base"
admin.resources :users, :controller => "users", :action => "index"
end
以上内容将为您提供与Rails 3相同的admin_root_path
,但无法使用多种格式。 rake routes
将其显示为:
admin_root /admin { :controller => "admin/base", :action => "index" }
如果您希望以与Rails 3中相同的方式使用多种格式,那么我认为这是您唯一的解决方案:
map.admin_root "/admin(.:format)", :controller => "admin/base", :action => "index"
map.namespace :admin do |admin|
admin.resources :users, :controller => "users", :action => "index"
end
以上为Rails 2.3.14中的admin_root_path
提供了这一点,这与我在Rails 3.0.11中看到的完全相同:
admin_root /admin(.:format) { :controller => "admin/base", :action=>"index" }