【Ruby on Rails】登録フォームを作成し、データベースを保存する
前回は、Ruby on Rails でルーティングを設定しました。
【Ruby on Rails】ルーティングを設定する
今回は、登録フォームを作成し、データベースを保存します。
登録フォームを作成
まずは、登録フォームを作成します。
app フォルダの controllers フォルダにある fluits_controller.rb を開きます。
FluitsController 内に
を追加することで、new の画面内で fluits をインスタンス化しています。
views フォルダ内にある fluits フォルダの new.html.erb を開きます。
form_withを使うことにより、Rails でフォームを自動生成してくれます。
項目は、name と price なので、form.labelとform.text_fieldに:name と:price を指定し、フォームを作成します。
送信ボタンは、form.submitを設定します。
登録画面を確認すると、
フォームを作成することができました。
外部から勝手にデータを改ざんできないようにする
今のままだと、フォームを改ざんすることができるので、name と price 以外の内容を送信できないようにします。
views フォルダ内にある fluits フォルダの new.html.erb を開きます。
private メソッドを作成します。
fluit_paramsメソッドを作成し、paramsにrequireを設定します。
requireで name と price のみ許可します。
fluit_paramsメソッドを送信内容で使用します。
送信内容をデータベースへ保存する
送信内容をデータベースへ保存します。
new.html.erb 内でcreateメソッドを作成します。
まずは、Fluit モデルを初期化します。
newの中に先程作成した、fluit_paramsを指定します。
saveで Fluit モデルを保存します。
一通り完成したので、動作確認します。
送信画面で内容を入力し、送信ボタンを押します。
fluits の index 画面で確認すると、
先程送信したみかんが表示されました。
new.html.erb の全文は、以下の通りです。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)