2012-08-03 10 views
15

で確認しcheck_box_tagしかし、 valueを明示的に指定せずにチェックするように設定したい場合はどうすればいいですか(ちょうどデフォルトを使用します)。あるいは、同様に、checked属性を指定せずにhtmlオプションを指定したい場合はどうしたらいいですか?これを行う方法はありますか?レールは私が</p> <pre><code>check_box_tag name, value, checked </code></pre> <p>で行うことができます知っている、私は現在、私はchecked属性を含める <pre><code>check_box_tag #{name} </code></pre> <p> </p>のように見えるレールcheck_box_tag電話を持っているデフォルト値

+0

Iなぜあなたが値を設定したくないのか理解していない。ユースケースを教えてもらえますか? – Dougui

+0

または、チェック状態を明示的に指定せずにHTML属性を設定したいとしましょう(デフォルトを使用したいだけです) - 同じ問題です。 –

答えて

3

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

オリジナルの実装:その後、

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 
7

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

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

そう

check_box_tag name, value 
10

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

check_box_tag name, value, true 
1

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

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

2

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

関連する問題

 関連する問題