2012-04-12 12 views
2

に余分なフィールドを保存するには:投資家顧問を、彼らはhas_many_through関係を経由して関係モデルに接続されています。問題は、私は投資家のユーザーととの間の関係を保存したいと思うことです。ユーザーはメールで見つけました。は、私は2つのユーザーモデル持ってどのようにhas_many_through関係

advisor = Advisor.where(:email => params[:invite][:email]) 
if advisor.exists? 
@logged_investor.advisors << advisor 
end 

これは正常に動作しますが、私は彼らの関係のステータスを追跡します「ステータス」と呼ばれる関係テーブルに余分なフィールドを保存する必要があります。私は、次のコードを持っています。それ、どうやったら出来るの?

答えて

3
@logged_investor.relations.create(:status => ..., :advisor => ...) 
+1

OPは、私はほぼすべての2ヶ月に実行し、不器用な方法、すなわち 'Relation.createを解決終わる質問です!(:投資家=> ...、:顧問=> ...:ステータス=> ...) '。偉大な時代になると、@victorによって与えられたより洗練された答えが覚えています。 ;) –

+0

保存する前に検証を行う方法はありますか?新しくて有効なの? –

1

あなたはmodlesが正しく設定されている場合

@logged_investor.relations 

でも他の関係のような関係テーブルにアクセスすることができるはずです。 次に、希望の関係を見つけ、ステータス値を変更します。

他のコマンドラインと同様に、タブを押すように、レールコンソールを使用してオブジェクト上でどのようなメソッドを呼び出すことができるかを簡単に確認することができます。

関連する問題