Railsのマスアサインメントを一時的に可能にする

attr_accessibleでない、あるいはattr_protectedを指定している属性はupdate_attributeで更新できるが、バリデーションを行わないので不便な場合がある。
そういう場合:without_protectionオプションを付けることでupdate_attributes、update_attributes!でも更新できる。
@user.update_attributes!({:first_name => params[:user][:first_name]}, :without_protection => true)
もちろん、やたらと使うとattr_〜が意味無くなるので、該当する属性をバリデーションを適用して更新したい場合に限って使用。
タグ:Rails
posted by digital-squad at 2012年04月18日 17時09分 | Comment(0) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック