回答
Ruby中不支持多繼承。我認爲將濾波器提取到模塊中並將它們混合成爲最乾淨的解決方案。
見例如: http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
所以我不得不將它們添加到mixin中,然後將它包含到設計控制器中,並將它們保存在gem中。我不確定你的意思是什麼「提取」 – DickieBoy
是的,我的意思是:把你的過濾方法放到一個模塊中。然後將此模塊包含在引擎的控制器和會話控制器中。 – Wukerplank
我希望我不會修改任何寶石。有沒有另外一種方法呢? – DickieBoy
沒有爲設計提供另一種選擇:config.parent_controller
。它默認爲ApplicationController
,但可以更改爲其他值。在我的情況下(Rails API),我使用ApiController
。在config/initializers/devise.rb
:
Devise.setup do |config| # ... other configuration options config.parent_controller = 'ApiController' end
- 1. Ruby中的多重繼承...繼承自多個控制器類。
- 2. 繼承控制器
- 3. 單控制器,多(繼承)類(軌3)
- 4. 從寶石繼承控制器類
- 5. 模型+控制器繼承
- 6. 控制器繼承grails 2.2
- 7. 視圖控制器繼承
- 8. Asp.net MVC繼承控制器
- 9. Rails的控制器繼承
- 10. AngularJS - 控制器繼承
- 11. 繼承另一個視圖控制器?
- 12. 子控制器不從父控制器繼承
- 13. AngularJS從另一個控制器繼承一個範圍
- 14. 對單表繼承使用多個控制器?
- 15. 如何讓組件從控制器繼承幾個屬性?
- 16. 多繼承控制檯輸出
- 17. .NET MVC 2控制器繼承
- 18. 繼承紅寶石控制器
- 19. WebApi2屬性繼承路由控制器
- 20. 玩框架控制器繼承
- 21. 如何繼承MPMoviePlayer控制器
- 22. 控制器中的奇怪繼承
- 23. 軌,控制器繼承W¯¯路線
- 24. Geddy模型/控制器繼承
- 25. StoryBoard處理繼承視圖控制器
- 26. AngularJS:組件的控制器繼承
- 27. 角JS控制器繼承問題
- 28. ASP.Net MVC 3控制器的繼承
- 29. 測試Rails控制器繼承Typus
- 30. Ninjaframework MVC控制器繼承和路由
不知道自己在做什麼。但是這不會做這份工作嗎? https://github.com/comfy/comfortable-mexican-sofa/wiki/Changing-default-authentication – Grocery
嘿@Grocery我想你是舒適的創造者?如果是這樣,這就是即將做的事情:我已經分叉你的寶石修改它一點點(你可能實際上需要它的一些功能),並使用它創建一個應用程序。我想在前端有一個用戶登錄系統。我用它來進行身份驗證。但對於設計意見,他們需要一個實際的佈局。我們的應用程序佈局極少,應用程序將包含許多完全可定製的網站。 – DickieBoy
所以要做到這一點,我需要將功能從舒適混入應用程序中的設計控制器。我最終將'RenderMethods'包含到了我的設計控制器中,重寫了一些設計函數以使它們使用cms_layouts(以及我們的一些功能)來實現它。如果你想看看,給我留言,事實上,我會很高興看到它的另一雙眼睛。 – DickieBoy