使い方

参考:

Action View フォームヘルパー | Rails ガイド [公式]

フォームヘルパー | Rails 日本語ドキュメント (Ruby STUDIO)

概要

フォームヘルパー

ビューにおいてフォームや各種フィールドを生成するためのヘルパー

参考:

ActionView::Helpers::FormHelper

フォームビルダー

form_for あるいは form_with フォームヘルパー使用時に、フォーム内にフィールドを生成するためのヘルパー。フォームヘルパーは、実行時にフォームビルダーのインスタンスを作成し、ビルダーを引数にしてブロックを実行する。

参考:

ActionView::Helpers::FormBuilder

フォームオプションズヘルパー

セレクトボックスのオプションを生成するためのヘルパー

参考:

ActionView::Helpers::FormOptionsHelper

フォームタグヘルパー

form_for あるいは form_with フォームヘルパーを使わずに、素のフォーム要素 (各種 input タグなど) を生成するためのヘルパー

参考:

ActionView::Helpers::FormTagHelper

フォームヘルパー

参考:

Rails のフォームヘルパー | 酒と涙とRubyとRailsと

Rails のビューヘルパー (View Helper) のまとめ | Rails Webook

Rails の form_for を使ったフォームの Controller / View / Model の連携した処理フロー | Rails Webook

form_for / form_tag の違い・使い分けをまとめた – Qiita

フォーム (form) | Railsドキュメント (railsdoc.com)

モデルを使わないフォーム

参考:

Rails 4 form without model and database – Stack Overflow

text_field

参考:

text_field – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

text_field – rails/form_helper.rb at v5.2.2 · rails/rails [Official]

text_field – rails/form_helper.rb at v5.2.2 · rails/rails [Official]

text_area

参考:

text_area – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

select

参考:

select | Railsドキュメント (railsdoc.com)

collection_select

フォームビルダーから collection_select を使ってフォームにセレクトボックスを表示する。

<%= form_for @post do |f| %>
  <%= f.collection_select(
        :auther_id, @authers, :id, :name, prompt: true) %>
  <%= f.submit %>
<% end %>Code language: ERB (Embedded Ruby) (erb)

フォームのあるビューを render するコントローラのアクションで変数を設定する。

before_action :set_authers, only: %i[new edit create update]

private

def set_authers
  @authers = Auther.all
endCode language: Ruby (ruby)

参考:

collection_select – ActionView::Helpers::FormOptionsHelper | Ruby on Rails API [Official]

collection_select – ActionView::Helpers::FormBuilder | Ruby on Rails API [Official]

collection_select, undefined method `map’ for nil:NilClass – Stack Overflow

select_tag

参考:

select_tag – ActionView::Helpers::FormTagHelper | Ruby on Rails API [Official]

select_tag – rails/form_tag_helper.rb at v5.2.3 · rails/rails – GitHub

fields_for

関連レコード用のフィールドを生成する。

fields_for(record_name, record_object = nil, options = {}, &block)Code language: Ruby (ruby)

@person のアソシエーション permission のフィールドを生成する例

<%= fields_for :permission, @person.permission do |permission_fields| %>
  Admin? : <%= permission_fields.check_box :admin %>
<% end %>Code language: ERB (Embedded Ruby) (erb)

参考:

Rails で1つのフォームで複数のモデルを登録・更新させる – Qiita

has_many through な関係で、複数レコードを new / create する時の書き方 | rokuro Fire

Rails fields_for のドキュメントを和訳しました。- Qiita

fields_for の上手な使い方 – Qiita

fields_for を使って一括更新する処理のベストプラクティスは何だろう | もふもふ技術部

fields_for Array attribute doesn’t iterate – Stack Overflow

fields_for – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

fields_for – ActionView::Helpers::FormBuilder | Ruby on Rails API [Official]

fields_for (ActionView::Helpers::FormHelper) | APIdock

form_for

参考:

form_for – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

fields

参考:

fields – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

label

参考:

label | Railsドキュメント (railsdoc.com)

label – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

label – ActionView::Helpers::FormBuilder | Ruby on Rails API [Official]

label_tag – ActionView::Helpers::FormTagHelper | Ruby on Rails API [Official]

label – rails/form_helper.rb at v5.2.3 · rails/rails – GitHub

rails/label.rb at v5.2.3 · rails/rails – GitHub

check_box

参考:

check_box の使い方 – Qiita

form_for で複数の check_box を表示して配列で取得する方法 – Qiita

form_for 内で 配列を作る方法 | せんべいって美味しいよね

チェックボックスにラベルを付ける

<%= form.label :agree_tos do |label| %>
  <%= form.check_box :agree_tos %>
  <%= label.translation %>
<% end %>
Code language: ERB (Embedded Ruby) (erb)

参考:

Rails でチェックボックスのラベルをクリックする | GPソフト Wiki

ラベルとインプット、横1列で表示する方法 | せんべいって美味しいよね

label – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

label – ActionView::Helpers::FormBuilder [Official]

translation – rails/label.rb at v5.2.2 · rails/rails – GitHub

collection_check_boxes

参考:

collection_check_boxes メソッドの構造確認 – Qiita

collection_check_boxes を使って input と label を div で wrap したい – Qiita

Rails4 で複数のチェックボックスを扱う – Qiita

collection_check_boxes – ActionView::Helpers::FormOptionsHelper [Official]

collection_check_boxes – ActionView::Helpers::FormBuilder [Official]

Rails collection_check_boxes – wrap each checkbox with <li> – Stack Overflow

radio_button

参考:

編集画面にラジオボタンの実装 | もふもふ技術部

Ruby on Rails の form_for でラジオボタンを設置する方法 | FREE SWORDER

radio_button と label タグの for 属性を適切に設定する | イソップブログ

Rails のラジオボタン (f.radio_button)、セレクトボックス + enum (都道府県あり) の使い方 – Qiita

radio_button のチェックを入れる方法について | SakuraWi Blog

radio_button_tag と radio_button | なんとなく日々徒然と

radio_button | Rails ドキュメント (railsdoc.com)

radio_button – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

radio_button – ActionView::Helpers::FormBuilder | Ruby on Rails API [Official]

hidden_field

<%= form_for @user do |f| %>
  <%= f.hidden_field :room_number %>
<% end %></pre>
<pre><%= form_for :user, url: { action: 'create' } do |f| %>
  <%= f.hidden_field :room_number, value: 0 %>
<% end %>Code language: ERB (Embedded Ruby) (erb)

参考:

hidden_field の使い方 – Qiita

hidden_field | Rails ドキュメント (railsdoc.com)

f.hidden_field と hidden_field_tag の使い方 | SakuraWi – BLog

hidden_field – ActionView::Helpers::FormBuilder | Ruby on Rails API [Official]

hidden_field – ActionView::Helpers::FormHelper | Ruby on Rails API [Official]

hidden_field_tag – ActionView::Helpers::FormTagHelper | Ruby on Rails API [Official]

パラメーターを配列にする

参考:

Rails のフォームで配列形式のデータを扱う方法 | WebOS Goodies

form の input value を配列で受け取りたい場合の name 属性 – Qiita

disable_with オプション

参考:

submit タグにつけておきたい disable_with オプション – Qiita

Rails の form 内で disabled された submit ボタンを再度 enable する | valid, invalid

data-disable-with re-enabling button – Stack Overflow

data-disable 属性

参考:

Add support for the `data-disable` attribute. by lucasmazza · Pull Request #347 · rails/jquery-ujs – GitHub

Default option for data-disable-with · Issue #299 · rails/jquery-ujs – GitHub

Allow default option for disabled-with part two · Issue #329 · rails/jquery-ujs – GitHub

formDisableSelector – rails/rails-ujs.coffee at v5.2.1 · rails/rails – GitHub

onclick

参考:

Ruby on Rails の form_for で submit する際に onclick 処理をする – Qiita

onsubmit

参考:

onsubmit の戻り値を false にして submit を実行しない/中断させる方法 | 小粋空間

Rails の form_for の submit を jQuery で中断したい – teratail

How to use onsubmit with form_tag – Stack Overflow

autofocus

参考:

autofocus: true の使用法 – Qiita

他のボタンを設置する

参考:

Rails の Form 内の button で submit 以外のことをさせたい (link_to 的なこと) – Qiita

ソース

参考:

form_helper.rb at v5.2.2 · rails/rails – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA