2012-10-18 9 views
11

Kann mir jemand sagen, wie man diese Kontrollkästchen aktiviert? Ich bin mir sicher, dass es einfach ist, aber nach einer Stunde versuche ich denke ich muss fragen! Vielen Dank!Wie überprüfe ich ein Kontrollkästchen in Haml mit check_box_tag

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

Antwort

14

Ref check_box_tag

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

Ihre 2nd parameter muss value von Checkbox sein

Ihre 3rd parameter muss ein boolean condition sein, die true/false und hängt davon ab, es Checkbox Rückkehr ist checked/unchecked

+0

Für Schienen 5 Ich sehe http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-check_box nur – akostadinov

2

Verwendung gilt für Überprüft oder falsch für Nicht aktiviert bei t er Ende der Leitung

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

oder

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

Nach dem api-Dock, das Kontrollkästchen Tag nimmt die folgenden Optionen:

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

Dies bedeutet, dass der erste Wert ist die Name, der zweite Wert ist ein 'Wert' und der dritte Wert ist, ob das Kontrollkästchen aktiviert ist, was standardmäßig auf 'false' gesetzt ist. Also, um das Feld zu aktivieren oder deaktivieren Sie folgendes tun:

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

Die zweite Zeile stellt nur eine zufällige Zeichenfolge in das Wertefeld, da es in diesem Fall keine Rolle spielt.

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

Dabei ist @selected ein Array mit dem ausgewählten Element.

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

Willkommen bei SO! Kannst du bitte eine Erklärung hinzufügen? Und wenn du [SO tour] (http://stackoverflow.com/tour) nimmst, bekommst du dein erstes glänzendes Abzeichen;) –

0

Aufbauend auf die Antwort von Sali. Seltsamerweise gibt ein Kontrollkästchen ohne Beschriftungstext zurück. So können Sie Text anzeigen, wenn Sie über ein Array iterieren.

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