mass_assignment脆弱性を解決するソリューションです。
もうじき正式リリースを待つばかりです。
覚え書き的な。
**基本
Post.new(params[:post])
やると例外になります。そのような前時代的なやり方は推奨されなくなりました。
以下のようにするとよいです。
@post = Post.new(params.require(:post).permit(:subject, :body))
@post.save
***has_manyなネストされたフォームを扱う例。has_oneでも同じです。
@post = Post.new(params.require(:post).permit(:subject, :body, :comments_attributes => [
:post_id, :name, :comment
]))
**更新
@post.update(params.require(:post).permit(:subject, :body))
***更新はせずにパラメタのみ設定したい場合。
@poast.attributes = params.require(:post).permit(:subject, :body)
# (ごにょごにょ)
# 保存します
@post.save
とてもシンプルで綺麗です。
Rails3のコードはこのままでは動かなくなるのはちょっと悲しいです。
have fun.
**参考サイト
体系的にまとまっていてとてもわかりやすいです。
-[http://willnet.in/48:title]
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート