今回はRailsでフォームを作成して、データを送る流れを学んでいきます。まずは新しいRailsアプリを作っていきます。

form-practiceで新しくRailsアプリを作成します。そして、formsコントローラーを作成します。

formsコントローラーにform_testのアクションを作ります。

routes.rbに移動して、『/form_practice』にアクセスしたときにformsコントローラーのform_testアクションが実行されるようにします。

ビューズの中のformsフォルダにform_test.html.erbファイルを作成します。form_test.html.erbにh1タグを作成します。

ここで復習で以前作ったhtmlフォルダのform.htmlファイルを開きます。フォームは上記のように作成しました。

form_test.html.erbに上記のように書いてみます。form_tagと書くことでセキュリティ的にも安全なフォームを作ってくれます。doとendで囲まれたところにパーツを埋め込んでいきます。

フォームを作成することができました。右クリックしてページのソースを表示してみます。

<input type=””hidden”‥‥と長い文字が書かれているのは、Railsが自動でやってくれているセキュリティ対策になります。

submit_tagの次に書いてある文字を変更するとボタンの文字を変更できます。

変更できました。

フォームのデータを受け取るために、routes.rbでデータが送られてくるのでgetではなくpostで書きます。

formsコントローラーにinput_ageアクションを作ります。render plainで文字を表示します。

フォームから『38』と入力して、『クリックで送信』をクリックします。

/createにアクセスされて、render plainで書いた文字が入力されました。

次に上記のように書いてみます。params[“form_test”][“age”]はあとで説明します。

フォームから『38』と入力して、『クリックで送信』をクリックします。

/createにアクセスされて、『38』と表示することができました。

以前作ったruby-practiceフォルダのpractice.rbを開きます。

以前書いていたものはコメントにして、上記のようにハッシュのjapaneseの中にgendaibunとkobunのハッシュを作ります。上記のようにputsすると、gendaibunの30が表示されます。ハッシュの中にハッシュを作ることができます。

上記にように書いてみます。params[“form_test”][“age”]はハッシュの中にハッシュがある書き方ですね。

formsコントローラーのinput_ageアクションをビューに分類します。ビューズの中のformsのフォルダにinput_age.html.erbファイルを作成します。

input_age.html.erbにh1タグを書きます。

/createにアクセスすると、h1タグを表示できました。

formsコントローラーのinput_ageアクションにインスタンス変数を書きます。

input_age.html.erbに上記のようにインスタンス変数を使って書きます。

『38』を入力して『クリックで送信』をクリックします。

/createにアクセスされて、『38が年齢として入力されました』と表示することができました。

form_test.erbでもう一つフォームを追加します。

formsコントローラーのinput_ageアクションにインスタンス変数を追加します。

input_age.html.erbにpタグを追加します。

『38』と『日本』と入力して、『クリックで送信』をクリックします。

上記のように表示することができました。
コメント