演習課題「コントローラにカラムを追加する」
右の環境には、「myblog」プロジェクトに「Diary」という1行掲示板が作成されています。
この掲示板に「weather」カラムを追加しましたが、フォームを投稿ボタンをクリックしても、データベースに書き込まれません。
コントローラーを修正して、「weather」カラムのデータが反映されるようにしてください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#05:controllerがデータを書き込む流れを理解しよう
ここでは、投稿フォームのデータを Controller でデータベースに書き込む流れについて学習します。そのために、Web フォームから受信した Parameters の処理について理解すると共に、データベースに書き込む際の安全性を高める strong parameter について説明します。
データベースに安全にアクセスするために、データベースに書き込みできるカラムをリストアップしておく。
controllerのarticle_paramsメソッドに記述する。
articles_controller.rb(一部)# Never trust parameters from the scary internet, only allow the white list through.
def article_params
params.require(:article).permit(:content, :name, :feeling)
end
- Railsでparamsを使ってデータを取得する - Qiita
http://qiita.com/To_BB/items/fe9cada1a0bcfe5e3efb
- params - リファレンス - - Railsドキュメント
http://railsdoc.com/references/params
- Railsのform_forを使ったフォームのController,View,Modelの連携した処理フロー
http://ruby-rails.hatenadiary.com/entry/20140727/1406448610
- StrongParameters | TECHSCORE(テックスコア)
http://www.techscore.com/tech/Ruby/rails-4.0/strong-parameters/
- Rails初学者がつまずきやすい「ストロングパラメータの仕組み」
https://www.transnet.ne.jp/2016/05/18/rails%E5%88%9D%E5%AD%A6%E8%80%85%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B3%E3%82%B0%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BCcolnr/