質問

私は追加の問題を抱えているのuser_idsを使用しての関連を通じて多くを持っています。

私の通信モデルは次のようになります:

class communication
 has_many :recipients
 has_many :users, :through => :recipients
end

私は手動でそのような通信オブジェクトにuser_idsを追加しようとしている通信コントローラのための私のcreateアクションで

@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
@communication.user_ids配列が空である理由

私はそうのようにハードコードされたIDを行う場合でも、うまくいかないことができます:

@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!

私はまだ空@communication.user_ids配列を取得しています。

私は私の方法で何かが足りないのですか?この作業を取得するための任意のヒント?

事前に感謝します!

役に立ちましたか?

解決

それはhas_many :throughだので、多分あなたは関係がスムーズに作成できるように、完全なオブジェクトを指定する必要があります。これを試してください:

@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids  # should be [ 1 ]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top