23

現在、次のようなレール check_box_tag 呼び出しがあります

check_box_tag #{name}

チェック済みの属性を含めたいのですが、これでできることがわかっています

check_box_tag name, value, checked

しかし、明示的に指定せずにチェック済みに設定したい場合はどうすればよいですかvalue(デフォルトを使用したいだけです)。checkedまたは同様に、属性を指定せずに html オプションを指定したい場合はどうでしょうか。これを行う方法はありますか?

4

6 に答える 6

18

これを更新したかっただけです。の 3 番目のパラメータcheck_box_tagは、チェックされたステータスを表すブール値です。

check_box_tag name, value, true
于 2014-08-20T21:41:56.367 に答える
8

check_box_tag (名前、値 = "1"、チェック済み = false、オプション = {})

例:

check_box_tag 'receive_email', 'yes', true
# => <input checked="checked" id="receive_email" name="receive_email" type="checkbox" value="yes" />

check_box_tag 'tos', 'yes', false, class: 'accept_tos'
# => <input class="accept_tos" id="tos" name="tos" type="checkbox" value="yes" />

check_box_tag 'eula', 'accepted', false, disabled: true
# => <input disabled="disabled" id="eula" name="eula" type="checkbox" value="accepted" />

api.rubyonrails.org

于 2016-05-04T19:14:15.027 に答える
8

チェックボックスをオンにしたい場合は、

check_box_tag name, value, {:checked => "checked"} 

それ以外は

check_box_tag name, value
于 2013-06-24T11:13:10.140 に答える
4

直接行う方法はありません。しかし、check_box_tag実装は簡単です。モンキー パッチを適用したり、独自のヘルパーを作成したりできます。

元の実装:

  def check_box_tag(name, value = "1", checked = false, options = {})
    html_options = { "type" => "checkbox", "name" => name, "id" => sanitize_to_id(name), "value" => value }.update(options.stringify_keys)
    html_options["checked"] = "checked" if checked
    tag :input, html_options
  end
于 2012-08-03T13:44:11.137 に答える
2

誰かがブール型の列を持っている場合は、これを見てください。is_checked? デフォルトのブール値になります。それは私のために働いた。

<%= hidden_field_tag :name, 'false' %> <%= check_box_tag :name, true, is_checked? %>

于 2015-09-26T06:50:48.117 に答える