我有一堆控制器,它們擴展了ApplicationController
,並且每個控制器都加載了一個不同的cancan資源。 UsersController
→@user
,PostsController
→@post
。我想知道,是否有可能在不知道實例變量名稱的情況下從ApplicationController引用資源?像resource_instance
。Rails CanCan:引用來自application_controller的resource_instance
0
A
回答
1
好吧,我得到了我的最終答案,它是沒有。我探索了cancancan,cancan保持良好的靈性孩子和代碼在那裏,但不意味着被最終用戶使用。
你可以得到你想要的東西,它是不漂亮:
self.class.cancan_resource_class.new(self).send(:resource_instance)
儘管如此,請不要。 cancan_resource_class
未記錄爲最終用戶使用,並且:resource_instance
受保護,因此爲send
。開發者可以選擇改變這一點並打破你的應用程序。
如果所有有company
,他們屬於過,我建議你窩的路線,因此所有航線有:company_id
,你可以用它來得到你想要的@company
對象:companies/:company_id/users
等
相關問題
- 1. rails cancan自定義動作
- 2. 相當於Rails的Django application_controller
- 3. session_id在application_controller中。 Rails 3
- 4. 使用CanCan和Twitter引導的Rails教程引導
- 5. before_filter in application_controller in rails應用程序
- 6. Rails 5 - CanCan
- 7. Rails - CanCan - accessible_by
- 8. CanCan與Rails Association
- 9. CanCan Rails授權
- 10. Rails cancan load_and_authorize_resource不起作用
- 11. Ruby on Rails CanCan Gem
- 12. Rails CanCan和Scoped attr_protected
- 13. 有很多用戶的Rails cancan用戶
- 14. Rails和CanCan的訪客用戶權限
- 15. 使用Rails的Cancan身份驗證
- 16. 使用CanCan的Rails授權問題
- 17. 如何使用CanCan與Rails管理員來檢查所有權
- 18. 在引擎中使用CanCan。 Ability.rb示例
- 19. can not can cancan on rails 3.1
- 20. Rails - CanCan - 基本問題
- 21. Rails cancan問題與before_filter
- 22. Rails 3 Active_admin和CanCan集成
- 23. Rails + Devise + Cancan select with dynamic,dependent
- 24. Rails,CanCan和控制器
- 25. Rails,Devise,CanCan或Declarative授權
- 26. Rails 4,Devise,Omniauth,Cancan,Twitter API
- 27. 我可以刪除使用Rails安裝的默認application_controller嗎?
- 28. 來自Rails的調用API
- 29. 來自Rabl Rails的調用Rails幫手
- 30. Devise,CanCan和ActiveAdmin on Rails應用程序
什麼是你想要的代碼把你的ApplicationController?這與'cancan'無關。你見過[inherited_resources](https://github.com/josevalim/inherited_resources),它的「資源」更接近你想要的。 – Leito
@Leito加載資源後,我根據資源設置了另一個實例變量(例如,許多資源都有一個company_id列,我根據resource.company設置了「@ company」)。我想在ApplicationController中這樣做,所以我不必複製代碼。在僞代碼中,我想讓ApplicationController方法說:「Cancan可以加載資源嗎?如果是,請根據resource.company設置」@ company「 – Robert