LoginSignup
1
0

More than 1 year has passed since last update.

チェックボックスの作り方

Last updated at Posted at 2022-03-26

チェックボックスの作り方を調べていると、いくつかの方法があることがわかった。

check_box モデルに関連するチェックボックス  
 ※パラメーターとして値を保存したい場合
check_box_tag モデルに関連しないチェックボックス
collection_check_boxes 複数選択のチェックボックス

今回実装したい内容は①に当てはまるので、それをまとめる。

check_box

まずはマイグレーションファイルに以下を入力。

class Createxxxxxx < ActiveRecord::Migration[6.0]
  def change
    create_table :xxxxxx do |t|
      t.boolean :カラム名  # 追記
     
      t.timestamps
    end
  end
end

次にビューファイル。

<%= f.check_box 'カラム名', {:checked => true}, checked_value = “true”,unchecked_value = false %>

これでDBには(false:チェックなし) or (true:チェックあり)が登録される。

ちなみに上記のコードを分解すると、以下の内容となる。
f.check_box(カラム名, {オプション},checked_value = “true”,unchecked_value = “false” )

オプションについて

オプションには以下の種類がある。

  1. :checked
    チェックボックスのチェックの有無
  2. :include_hidden
    隠しフィールドは生成されない
  3. :size
    フォームの幅
  4. :maxlength
    入力フィールドに入力可能な最大文字数
  5. :accept
    フォームで受付可能なMIMEタイプ
  6. :readonly
    フォームの内容変更禁止
  7. :disabled
    無効化
  8. :tabindex
    Tabキーによる入力欄の移動順
  9. :accesskey
    フォームに移動するショートカットキー
  10. :id
    要素固有の識別子
  11. :class
    要素を分類するクラス名
  12. :title
    要素の補足情報
  13. :style
    要素の補足情報
  14. :dir
    表記方向
  15. :lang
    基本言語

checked_value」と「unchecked_value」

「checked_value」と「unchecked_value」は、チェックされた場合と外された場合に取得できる値の設定。
チェックが着いていればtrue、外れていればfalseとなる。
ちなみにtrue、falseの代わりにchecked_value = “1”, unchecked_value = “0”とすることもできる。

以上。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0