Ruby on Railsの、form_withの使い方等がどの説明を見てもいまいち理解できず困っています。
以下の質問内容にあるコードなどは下記サイトでform_withについて説明しているものから引用をしています。
https://pikawaka.com/rails/form_with
質問①:
下記のコードの、form.text_field :nameの、nameが一体なんなのか、どこから来たのかがわかりません(そもそも、ハッシュの形ということは、form.text_fieldをキーとした時の値を表示しているということでしょうか?)
<%= form_with model: @user do |form| %> <%= form.text_field :name %> <%= form.submit %> <% end %>
質問②:
newアクションのあと、自動的にcreateアクションに移行するとありますが、これはどこかにそのような命令が書いてあるのでしょうか?それとも、Railsの仕様上、そういうものだという風に覚えておくしかないのでしょうか?
質問③:
form_withの引数にモデルクラスのインスタンスを指定していますが、入力情報を「データベースに保存する場合」と説明書きがあります。
しかし、実際にフォーム入力情報をデータベースに保存するタイミングはcreateアクション内でsaveメソッドを呼び出した時かと理解をしています。
そのため、質問②のとおり、newアクションのあとは必ず自動的にcreateアクションに移行するという仕様なのであれば、わざわざform_withの引数にモデルクラスのインスタンスを指定しなくてもデータベースに保存できるのではないかと思うのですがどうなのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/28 14:48
2020/10/28 23:03