我觉得标题很清楚。
我想覆盖“find_for_authentication”函数以加入用户身份验证的设置模型。
我的模型用户 has_one 设置
我在我的用户模型中尝试了这个,但它不起作用。
def self.find_for_authentication()
joins(:setting)
super
end
谢谢
我觉得标题很清楚。
我想覆盖“find_for_authentication”函数以加入用户身份验证的设置模型。
我的模型用户 has_one 设置
我在我的用户模型中尝试了这个,但它不起作用。
def self.find_for_authentication()
joins(:setting)
super
end
谢谢
这行得通吗?
def self.find_for_authentication()
super.joins(:setting)
end
Devise 具有适用于各种不同 DB 类型的适配器,因此这并不是您真正想要在其上执行此操作的层,因为它将在方法调用链的更下方,它实际上将其转换为任何 SQL。当您返回find_for_authentication
SQL 查询时,已经执行了,因此您将无法使用.joins
或类似的东西。
您可以尝试为您的模型设置default_scope
(Rails Eager Loading on All Finds) ,但它有自己的问题。User
default_scope