注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれが標準になります。Rails2.x と 3.x はattr_accessibleやattr_protectedなどで似たような機能が提供されていましたが、これだと管理が煩雑になるケースがありました。 今年の3月くらいにGitHub が mass assignment の脆弱性を突かれたことで 、この問題をどうにかしようという流れが起き、最終的に strong_parameters が作られるという経緯を辿りました。 mass assignment とは Rails ではこんなコードをよく見ると思います。 de
Google+ボタン はてなブックマークボタン 更新日時: 2014年02月26日(水) 作成日時: 2013年09月09日(月) 前の記事 / 次の記事 目次 そもそも何なのか? どうやって使うのか? 嵌まらないようにする(エラーをraiseさせる) 仮想属性でも定義が必要 参考 そもそも何なのか? 例えば次のようなカラムを持つArticleテーブル(記事テーブル)があって、 更新時には headline と content だけを更新して user_id は変更したくない場合。 (user_id は 記事の作成者を識別するidとして使う。) class CreateArticles < ActiveRecord::Migration def change create_table :articles do |t| t.integer :user_id t.string :headlin
第7章ユーザー登録 Userモデルができあがったので、いよいよWebサイトになくてはならないユーザー登録機能を追加しましょう。7.2ではHTMLフォームを使用して登録情報をWebアプリケーションに送信します。続いて7.4ではユーザーを新規作成して情報をデータベースに保存します。ユーザー登録手続きの最後には、作成されたユーザーの新しいプロファイルを表示できるようにするために、ユーザーを表示するためのページを作成し、ユーザー用のRESTアーキテクチャを実装する第一歩を踏み出します (2.2.2)。これまでと同様、開発と同時にテストも作成します。RSpecとCapybaraの適用範囲を拡大し、簡潔かつ表現力豊かな結合テストを作成します。 ユーザープロファイルページを作成するには、その前にデータベースにユーザーが登録されている必要があります。これはいわゆる「卵が先か鶏が先か」問題です。このWebサ
It provides an interface for protecting attributes from end-user assignment. This makes Action Controller parameters forbidden to be used in Active Model mass assignment until they have been explicitly enumerated. In addition, parameters can be marked as required and flow through a predefined raise/rescue flow to end up as a 400 Bad Request with no effort. class PeopleController < ActionController
7. StrongParameters 2013/10/03 シナジーマーケティング(株) 鈴木 圭 [Rails 4.0] 第7章 StrongParameters 7.1. StrongParameters とは 7.2. require と permit 7.3. permit に関する設定 7.4. 配列やネストしたパラメータの扱い 7.5. コントローラ以外で StrongParameters を使う方法 7.6. まとめ 7.1. StrongParameters とは StrongParameters はモデルへの Mass-assignment (一括代入)をコントローラ層で制御するために、リクエストから受け取るパラメータをホワイトリスト形式で指定する機能を提供します。これは、Rails3 で多用されてきた attr_accessible/attr_protected の代
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く