Ruby on Rails createアクションについて
新規投稿ページでユーザーが入力した情報がデータベースに保存されるまでの流れを書いていきます。
例えば、このような、ユーザー名とメールアドレスを登録できるフォームがあるとします。
新規登録ボタンを押すと、データベースにデータが保存されます。
(hatenasテーブルのname、emailカラムにデータが登録されました)。
この仕組みについて解説します。
まずは、ルーティングがどうなっているのか見ていきましょう。
resourcesを使用して、7つのアクションに対するルーティングを生成しています。
rails routesを確認します。
このようなルーティングが生成されています。
今回、活躍するのはnewとcreateです。
次に、コントローラーを見ていきましょう。
new、createアクションが定義されています。
createアクションの中では、paramsとして送られてきた2つのデータを受け取り保存しています。
最後に、この2つのデータを送っているビューを見ていきましょう。
ここでは、2つのデータを送信しています。
form_tagには、createアクションのURLを渡しています。
新規登録ボタンを押すと、nameとemailという2つのデータがコントローラーのcreateアクションに送信されます。
ビューで送信したデータをコントローラーのcreateアクションで受け取り、データベースに保存しています。
以上。