ViewからsubmitでControllerに送ったデータを安全に受け取る方法―ストロングパラメータ―

Ruby on Rails

 

View

 

 

Controller(Viewから送られてきた情報を保存する)

 

 

 

こんな感じで、params.require(:model名).permit(:カラム名)と指定することで、安全にデータを受け取れることができます。(ストロングパラメータといいます)

 

ところで、なにが安全なのかといいますと、今回の送られてきたデータはparams[:micropost][:content]としても受け取れるのですが、それだと誤ってparams[:content]を受け入れてしまう可能性があるからです。

 

よって、まずparams.require(:micropost)として、micropostという名のキーをもったハッシュを受け入れるのです。つまり、今回の場合はMicropostというモデル名に関連したデータのみを受けとるよ、と言っているのです。

 

そうしてから、:contentという名のキーに対応した値を取得するのです。

 


参考記事:

【Rails入門】params使い方まとめ

Rails初学者がつまずきやすい「ストロングパラメータの仕組み」