This article was migrated from http://rai
度々忘れがちなので備忘録。
ActiveReco
class Group < ActiveRecord::Base has_many :members endこのとき、コレクションに対して以下のようにARオブジェクトを追加すると、
group.members << Member.new(params[:member])group.new_record?が真の場合はMemberはそのままコレクションに追加され、DBは変化しませんが、group.new_record?が偽の場合は、Memberは直ちにsaveされ、DBに格納されます。
group.new_record?が偽の場合にDBを変更せずにMemberをコレクションに追加したい場合は、以下のようにbuildメソッドを利用します。
group.members.build(params[:member])余談ですが、リソース系のオブジェクトはcreateよりもnewを使う事が多いですね。 Ajaxでちょっとずつリソースを作っていって、完成したところでsaveでDBに格納。 逆にActivity系のオブジェクトは、createで作成と同時にDBに格納する感じです。
This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/94
posted by
genki
on Mon 4 Sep 2006
at 17:45