2012-10-18 9 views
11

チェックボックスをオンにする方法を教えてもらえますか?私はそれが簡単だと確信していますが、試して1時間後に私は尋ねる必要があると思う!ありがとう!check_box_tagを使用してHamlのチェックボックスをチェックする方法

= 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' 

答えて

14

参考check_box_tag

check_box_tag "ratings[#{rating}]", 1, !!(rating.rating) 

あなた2nd parameterは、チェックボックスのvalue

あなた3rd parametertrue/falseを返すboolean conditionことと、それに依存しなければならないチェックボックスが当てはまりchecked/unchecked

+0

私だけ – akostadinov

2

使用されなければなりませんtでチェックを外した場合はチェックされ、falseの場合APIドックによると、彼の行の末尾

check_box_tag "ratings[#{rating}]", true #checked 

または

check_box_tag "ratings[#{rating}]", false #unchecked 
2

、ボックスをチェックし、タグは、以下のオプション取ります

check_box_tag(name, value = "1", checked = false, options = {})

をこれが最初の値があることを意味し2番目の値は 'value'で、3番目の値はボックスがチェックされているかどうかです(デフォルトはfalse)。だから、あなたは次の操作を行うことができます]チェックボックスをオンにしたりオフにするために、この場合には、それは問題ではありませんので、

- if (some condition) 
    = check_box_tag "ratings[#{rating}]", "anystring", true 
- else 
    = check_box_tag "ratings[#{rating}]" 

2行目は、単に値フィールドにランダムな文字列を置きます。

3
check_box_tag "ratings[#{rating}]", 1, @selected.include?("#{rating}") 

ここで、@selectedは要素が選択された配列です。

-3
= check_box_tag "ratings[#{rating}]",{},{:checked => ""} 
+1

はSOへようこそhttp://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-check_boxを参照してください!いくつか説明を加えてください。そして、あなたが[SOツアー](http://stackoverflow.com/tour)を取ると、最初の光っているバッジが得られます;) –

0

サリによる解答の上に構築。不思議なことに、は、ラベルテキストのないチェックボックスを返します。配列を反復処理している場合、テキストを表示する方法は次のとおりです。レール5の場合

- Puppies.each do |puppy| 
    = check_box_tag(puppy.name, puppy.name, puppy.goodboy?) 
    = puppy.name