6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

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