Ruby on Rails createアクションについて

新規投稿ページでユーザーが入力した情報がデータベースに保存されるまでの流れを書いていきます。

f:id:khirok:20191229102723p:plain


例えば、このような、ユーザー名とメールアドレスを登録できるフォームがあるとします。

f:id:khirok:20191229102940p:plain

 

新規登録ボタンを押すと、データベースにデータが保存されます。

(hatenasテーブルのname、emailカラムにデータが登録されました)。

 

この仕組みについて解説します。

 

まずは、ルーティングがどうなっているのか見ていきましょう。

f:id:khirok:20191229103146p:plain

resourcesを使用して、7つのアクションに対するルーティングを生成しています。

 

rails routesを確認します。

f:id:khirok:20191229103343p:plain

このようなルーティングが生成されています。

今回、活躍するのはnewとcreateです。

f:id:khirok:20191229103522p:plain

 

次に、コントローラーを見ていきましょう。

f:id:khirok:20191229103658p:plain

new、createアクションが定義されています。

createアクションの中では、paramsとして送られてきた2つのデータを受け取り保存しています。

 

最後に、この2つのデータを送っているビューを見ていきましょう。

f:id:khirok:20191229104526p:plain

ここでは、2つのデータを送信しています。

form_tagには、createアクションのURLを渡しています。

新規登録ボタンを押すと、nameとemailという2つのデータがコントローラーのcreateアクションに送信されます。

 

ビューで送信したデータをコントローラーのcreateアクションで受け取り、データベースに保存しています。

 

以上。