Ruby / Rails

登録フォームを作成

2019年7月4日

こんにちは、Nanayakuです。

今回は、登録フォームの作成で使うメソッドと処理の流れを解説します。

目次

登録の処理の流れ

User登録の各処理の流れが、画像の何番を通っているか確認します。

 

step
1
新規登録ボタンを押し、UsersController(コントローラー)のnewアクションで@user(インスタンス変数)を生成し、モデルを作成します。

=>1・2・3・4・5・6

 

step
2
@userをnew.html.erb(View)へ渡し、登録フォームを表示します。

=>7・8

 

step
3
登録フォームの情報を送信すると、その値がcreateアクションに送られます。

=>1・2

 

step
4
createアクションはデーターベースと通信し、データベースに情報を保存します。

=>3・4

 

step
5
保存が成功したら、登録完了の画面が表示されます。

=>5・6・7・8

 

form_for

MVCについて詳しく解説で、出てきたform_for構文について解説します。

form_forからevdで囲んだ部分をformにするタグです。

form_for モデルオブジェクト do |f|

end

このように書くことで、このモデル(@userなど)のフォームを作ることが出来ます。

入力フォームには、様々な種類があります。

例)

  • text_field・・・1行のテキストを書くフォーム
  • text_area・・・複数行のテクストを書くフォーム
  • number_field・・・数値を入力するフォームで数字以外入力出来ません
  • password_field・・・パスワードを入力するフォームで入力したら自動的に隠されます

画像のようなフォームを作る時、以下のコードを書いました。

入力したデータを送信するには「f.submit」とし、ボタンが押されるとRailsが自動送信します。

送信したいデータは、入力フォームの前に「f.」を付けます。

 

resources

resourcesメソッドはroutes.rbファイル(ルーター)で使用します。

=>MVCについて詳しく解説

resourcesはRESTful(HTTPの通信)なURLを自動生成するメソッドです。

書き方は、以下のようになります。

resources :リソース名

リソース名はコントローラーのディレクトリ名です。

  • index
  • show
  • new
  • create
  • edit
  • update
  • destroy

以上のルートをまとめて生成します。

 

createアクションの用語説明

createアクションで出てきた各用語についてで説明します。

redirect_to

redirect_toは指定されたページ(path)へ転送するメソッドです。

psthの確認をする場合は、「rails routes」とターミナルで実行すれば、確認が出来ます。

この時に出てくるPrefixが、「〇〇_path」の〇〇に該当します。

例えば、ユーザーの新規登録ページ(user#new)への転送する場合は、以下のようになります。

redirect_to new_user_path

 

render

rednerは指定したURLのViewを返すメソッドです。

画像の条件分岐は、

保存が成功すれば「トップページへ転送する」

保存が失敗した場合「新規登録ページを返す

と、なっています。

 

params

フォームで入力した情報を入れておく変数(シンボルで代入)のことです。

登録の流れは、登録フォームからデータを入力し、送信します。

その入力内容をparamsに格納し、そのデータをデータベースに保存します。

参考

Railsドキュメント・params

 

最後に

備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。

-Ruby / Rails
-

© 2024 Nanayaku blog Powered by AFFINGER5