我有一个 Rails 应用程序。我的所有控制器都继承自 aBaseController
继承自ApplicationController::Base
This 用于将我的部分组织到单独的命名空间中。它工作得很好。
这是问题所在。
我正在尝试使用 Devise gem,但Devise::SessionsController
找不到我的部分,这些部分存储在名为 Base 的文件夹中。我的解决方案是创建一个继承自Devise::SessionsController
这样的本地控制器:
module Account
class SessionsController < Devise::SessionsController
end
end
问题是这个本地SessionsController
仍然需要从我的继承,BaseController
所以它可以找到我的部分。说得通?
基本控制器代码:
module Account
class BaseController < ApplicationController
end
end
应用控制器代码:
class ApplicationController < ActionController::Base
protect_from_forgery
end
我一直在阅读有关 mixins 的文章,但看不到如何使用 mixins 来解决这个问题,因为我没有任何方法可以从类中导入......