あなたのすべてのあなたの気持ちを楽しんでください。.build()に渡された属性はクエリに表示されません。
実際には単純なデータベーステーブルに行を挿入しようとするとかなり面白い問題に遭遇します。
基本的な考え方はかなりシンプルです。ユーザは、グループに追加されるはずのマルチセレクション内の1人または複数のユーザを選択する。
コードのこの部分は、user_group_relationshipsテーブルに行を挿入しますが、ユーザIDを常に
@group = Group.find(params[:group_id])
params[:newMember][:users].each do |uid|
# For debugging purposes.
puts 'Uid:'+uid
@rel = @group.user_group_relationships.build(:user_id => uid.to_i)
@rel.save
end
ユーザIDは常にそれが明らかであるにもかかわらず、ヌルとして挿入されます。この例のUIDは5であることが分かります。
Uidの:5
...
SQL(0.3ms) "user_group_relationships" ( "のcreated_at"、 "group_idの"、 "updated_atの"、 "USER_ID")。INSERT INTO「( 値2010-12-27 14:03:24.331303' 、2、 '2010-12-27 14:03:24.331303'、NULL)これが失敗した理由を
任意のアイデア?
まさに私が探していたもの!ありがとうございました!私は、新しい言語/フレームワークを習得するだけで痛みがあると思うのですが、あなたが利用できるすべてのツールについて本当に知っているわけではありません。 – deRailed