2021年8月31日現場Rails Chapter7(7-1-1確認画面を表示するアクションを追加する)
f.hidden_field
f.hidden_fieldとは、画面に表示されないinputタグを生成するメソッドです。このinputタグには値が保持されています。既に決まった値をユーザーから見えない形で送信する際に使います。f.hidden_fieldの代表的な使用例は、確認画面のフォームです。
↓Rails: How do I use hidden_field in a form_for?の引用 - f.hidden_field
<%= f.hidden_field :some_column %>
- 上のf.hidden_fieldで生成されるHTML
<input type="hidden" id="request_some_column" name="request[some_column]" value="#{@request.some_column}" />
valid?
バリデーションが失敗した結果
@task.valid? # =>false @task.errors # =>バリデーションにはじかれた内容が入る @task.errors.full_messages # =>エラーメッセージを文章化し、配列で表現
valid?メソッドで、検証が通るか通らないかを確かめています。
true→検証が通る false→検証が通らない
↓現場で使えるRuby on Rails P287引用
Rails.application.routes.draw do root to: 'tasks#index' resources :tasks do post :confirm, action: :comfirm_new, on: :new end end
基本的にonオプションはmemberやcollectionなどをresourecesの配下などでネストさせた場合にブロック(do ~ end)の省略をするときに使うものですが、今回におけるonオプションはnewアクションに続くURLとして"tasks/new/confirm"のような形のURLの形式にしたいために、postメソッドの引数で:confirmを明示的に指定します。
参照
★HTMLタグリファレンス/hidden.
http://www.htmq.com/html/input_hidden.shtml
Rails: How do I use hidden_field in a form_for? https://stackoverflow.com/questions/3131982/rails-how-do-i-use-hidden-field-in-a-form-for