これらのチェックボックスをオンに設定する方法を誰かに教えてもらえますか?簡単だと思いますが、1時間試してみたら、聞いてみる必要があると思います。ありがとう!
= form_tag movies_path, :id => 'ratings_form', :method => :get do
Include:
- @all_ratings.each do |rating|
= rating
= check_box_tag "ratings[#{rating}]",
= submit_tag 'Refresh', :id => 'ratings_submit'
check_box_tag "ratings[#{rating}]", 1, !!(rating.rating)
2nd parameter
はチェックボックスのvalue
である必要があります
3rd parameter
はboolean condition
である必要があります。これはtrue/false
を返し、それに依存するチェックボックスはchecked/unchecked
です。
check_box_tag "ratings[#{rating}]", 1, @selected.include?("#{rating}")
どこ @selected
は、要素が選択された配列です。
行の最後で、チェック済みの場合はtrueを使用し、チェックなしの場合はfalseを使用します
check_box_tag "ratings[#{rating}]", true #checked
または
check_box_tag "ratings[#{rating}]", false #unchecked
APIドックによると、チェックボックスタグは次のオプションを取ります。
check_box_tag(name, value = "1", checked = false, options = {})
これは、最初の値が名前、2番目の値が「値」、3番目の値がボックスがチェックされているかどうかを意味します。デフォルトはfalseです。したがって、チェックボックスをオンまたはオフにするには、次の操作を実行できます。
- if (some condition)
= check_box_tag "ratings[#{rating}]", "anystring", true
- else
= check_box_tag "ratings[#{rating}]"
この場合は問題ではないため、2行目はランダムな文字列を値フィールドに入力するだけです。
サリの答えに基づいて構築します。不思議なことに、check_box_tag
は、ラベルテキストのないチェックボックスを返します。配列を反復処理している場合にテキストを表示する方法は次のとおりです。
- Puppies.each do |puppy|
= check_box_tag(puppy.name, puppy.name, puppy.goodboy?)
= puppy.name