IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Rails で Strong Parameters を使う場合は、主に create, update アクションの時。

Rails の Strong Parameters は、ユーザーの投稿から、属性を保護する機能を提供している。そのため、属性の値を変更する create や update アクションで Strong Parameter を使うことになる。GET リクエストでは、属性を変更することはないため、 Strong Parameters を使わない。

f:id:matt-note:20190130114723p:plain

 

とにかく、Rails で POST リクエストや PATCH リクエストを処理するアクションでは、属性の値を変更するため、Strong Parameters を使う。というわけで、create や update アクションを使う時には、Strong Parameters を渡して属性の値を変更することに気をつける。

 

なお、Strong Parameters では、ホワイトリスト形式で許可する属性を前もって指定しておく必要がある。migration で属性数を変更した場合は、許可する属性も変更するため、Strong Parameters を編集する必要がある。

f:id:matt-note:20190130115830p:plain

 

というわけで、Strong Parameters の意味は以下のようになる。

f:id:matt-note:20190208153855p:plain

 

以下の場合、リクエストパラメータ内の task オブジェクトは、キーに :name と :description を持っているため、OK となる。

f:id:matt-note:20190208153229p:plain

 

なお、POST リクエストのリクエストパラメータでも、以下のようにしてコントローラから取得できる。

f:id:matt-note:20190208154655p:plain

f:id:matt-note:20190208154708p:plain