2016-06-22 1 views
1

を作成する方法。私はプロフィールと呼ばれる別のモデルを持っているレール4 - 私は関連属性の存在をチェックするスコープを作成する方法を把握しようとしている範囲

scope :onboarded, -> { where ("user.profile_id IS NOT NULL AND user.profile.organisation_id IS NOT NULL") } 

私が試してみたいものの要旨は私のユーザモデルでスコープです。関連は次のとおりです。

上記のスコープは私のユーザーモデルに書かれています。このポストからの提案に基づいてRails: Using service class methods in a scope query

IDまたは組織IDがあるかどうかを確認するために私のプロファイルモデルでスコープを作ってみるべきかどうか分かりません。モデル、または私は一緒に私のユーザスコープチェーンモデルはこれをテストすることができます。

答えて

0

だけで内部結合を実行します。このようjoinsを使用するためにあなたが実際に既存の団体だけではなく、単純な属性をチェックしているので、最も簡単にはおそらく、だろう。

あなたも、あなたがこれを行うことができますprofileorganizationbelongs_to関係を持って考える:

scope :onboarded, -> { joins(profile: :organization) } 

これが組織を持っているプロファイル、とすべてのユーザーを返します。

+0

どうもありがとうございました。 – Mel

関連する問題