次の Rails フォーム ヘルパーを使用してチェックボックスを作成しました。
<%= check_box("tag", tag.id) %>
ただし、それらのいくつかをデフォルトでチェックする必要があります。Rails のドキュメントには、これを行う方法が指定されていません。方法はありますか?どのように?
次の Rails フォーム ヘルパーを使用してチェックボックスを作成しました。
<%= check_box("tag", tag.id) %>
ただし、それらのいくつかをデフォルトでチェックする必要があります。Rails のドキュメントには、これを行う方法が指定されていません。方法はありますか?どのように?
check_box をオンnew
にして正しく入力する必要がある場合は、次のようにしedit
ます。
<%= f.check_box :subscribe, checked: @event.new_record? || f.object.subscribe? %>
ここで述べたように
レールのドキュメントには、チェックする方法が記載されており、オブジェクトによって異なります。check_box で使用するインスタンス オブジェクトがない場合、最適なオプションは前述のように check_box_tag を使用することです。もしそうなら、読み進めてください。
check_box ヘルパーのドキュメントへのリンクは次のとおりです。基本的にこれがどのように機能するかは、インスタンス変数を定義する必要があるということです。そのインスタンス変数には、整数またはブール値を返すメソッドが必要です。ドキュメントから:
このオブジェクトは、ローカル オブジェクトではなく、インスタンス オブジェクト (@object) である必要があります。メソッドが整数を返すことを意図しており、その整数がゼロより大きい場合、チェックボックスがチェックされます。
たとえば、有効なメソッドを持つ @tag インスタンスがビューにあるとします。次のスニペットでは、@tag オブジェクトで有効な場合はチェックボックスがオンになり、false の場合はオフになります。デフォルトで有効にするには、コントローラーで enabled 属性を true に設定します。最後の 2 つの変数は、チェック ボックスがオンの場合とオフの場合にフォームで送信する値です。
<%= check_box "tag", "enabled", {}, "1", "0" %>
多くの場合、フォーム ビルダーで使用される check_box ヘルパーを目にするでしょう。したがって、 @tag インスタンスに form_for が使用された場合は、次のスニペットを使用する可能性が高くなります。
<%= f.check_box :enabled %>
書き込み不要 チェック: true for rails >= 4.0 単純に書く
<%= check_box_tag "name", value, true %> # true or false
のcheck_box_tag
代わりに、check_box
チェック済みであることを設定する方法があります。
を使用すると、すでにチェックcheck_box_tag
されているように設定できます。true
詳細はこちら: http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag