0

タイトルはわかりやすいと思います。

「find_for_authentication」関数を上書きして、ユーザー認証の設定モデルに参加したいと考えています。

私のモデル ユーザー has_one 設定

ユーザーモデルでこれを試しましたが、うまくいきません。

def self.find_for_authentication()
    joins(:setting)
    super
end

ありがとうございました

4

2 に答える 2

0

これは機能しますか?

def self.find_for_authentication()
  super.joins(:setting)
end
于 2013-06-06T12:21:53.833 に答える
0

Devise にはさまざまな異なる DB タイプへのアダプターがあるため、実際にこれを任意の SQL に変換するメソッド呼び出しチェーンのさらに下にあるため、これは実際にこれを実行したいレイヤーではありません。SQLクエリに戻るまでにfind_for_authentication、すでに実行されているため、使用することはできません.joins

モデルにdefault_scope( Rails Eager Loading on All Finds ) を設定してみることができますが、独自の問題があります。Userdefault_scope

于 2013-06-06T12:22:14.657 に答える