我有我的常規ApplicationController類&我有一個Admin :: ApplicationController類。問題是Admin :: ApplicationController似乎沒有被加載或執行或任何東西。我不允許擁有名稱空間的應用程序控制器嗎?想要擁有它的理由是,我可以檢查用戶是否是管理員,如果他們不是,那麼CanCan &將他們重定向。命名空間ApplicationController在Rails中
2
A
回答
4
調用此控制器Admin::BaseController
,因爲它更像是作爲命名空間的基礎,而不是爲應用程序執行任何操作。爲了做到你想做的事情,你需要讓所有的管理員名稱空間控制器繼承自這個控制器。
1
我見過的命名空間的唯一時間是當控制器嵌套在子文件夾中時。所以管理員:: ApplicationController的期望是在控制器/管理/ application_controller.rb
一個可能的解決方案:
如果你想除了你的主頁一切踢出來,只要設定的before_filter您的應用程序控制器與家用/指數像這樣的例外:
ApplicationController.rb
before_filter :authorize_admin
def authorize_admin
//dostuff
end
HomeController.rb
skip_before_filter :authorize_admin, :only => ['index']
索引是您想要跳過的操作。爲了避免整個控制器的過濾器脫落。
相關問題
- 1. Authlogic,命名空間和私有方法在ApplicationController中
- 2. 命名空間在rails中的actionmailer
- 3. Rails中SOAP中的命名空間
- 4. rails中的命名空間路由1
- 5. Rails中的Authlogic和命名空間
- 6. link_to與Rails中的命名空間
- 7. 命名空間中不存在命名空間名稱'Notify'Twilio.Rest
- 8. 在MonoTouch中重命名命名空間
- 9. 如何在多個命名空間中命名空間函數?
- 10. 在jQuery中命名空間?
- 11. 在命名空間
- 12. 在命名空間
- 13. 在命名空間
- 14. 在命名空間
- 15. 在Rails中測試ApplicationController before_filter
- 16. Rails的:從ApplicationController中
- 17. 只有數字的Rails命名空間
- 18. Rails路由錯誤與命名空間?
- 19. Rails Caches_Page因命名空間而錯位
- 20. Ember-Rails和命名空間模板
- 21. Rails 5 - 命名空間模型
- 22. 的Rails:爲命名空間資源
- 23. rails和命名空間模型問題
- 24. rails使用link_to命名空間路由
- 25. Rails模型命名空間和named_helpers
- 26. Rails命名空間與嵌套資源
- 27. Rails命名空間控制器問題
- 28. Rails url_for和命名空間模型
- 29. Rails minitest命名空間裝置
- 30. Rails的路由錯誤使用命名空間 - 的命名空間路徑
嗨瑞安,有什麼機會解釋爲什麼控制器應該改名?只是想知道,因爲我有一個功能Admin :: ApplicationController工作得很好。這不就是命名空間的重點嗎? – 2012-01-04 15:57:19
雖然它不是一個ApplicationController。這是命名空間的* base *,其他地方都從其繼承。我的原因主要是因爲它是我們在模型中繼承的`ActiveRecord :: Base`。只是一點點的一致性。 – 2012-01-04 22:09:10