2012-10-18 6 views
11

का उपयोग कर हैम में चेक बॉक्स को कैसे चेक करें, क्या कोई मुझे बता सकता है कि इन चेक बॉक्स को चेक करने के लिए कैसे सेट करें? मुझे यकीन है कि यह आसान है, लेकिन कोशिश करने के एक घंटे बाद मुझे लगता है कि मुझे पूछने की ज़रूरत है! धन्यवाद!चेक_बॉक्स_टैग

= 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 parameter होना चाहिए एक boolean condition जो true/false लौट सकते हैं और यह चेकबॉक्स पर निर्भर करता है के लिए सच checked/unchecked

+0

रेल 5 के लिए मैं केवल http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-check_box – akostadinov

2

उपयोग है टी पर अनचेक के लिए चेक या गलत

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

इसका मतलब यह है पहले मूल्य है: वह लाइन

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

या

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

के अंत एपीआई गोदी के अनुसार, बॉक्स टैग की जांच निम्नलिखित विकल्पों लेता है नाम, दूसरा मान एक 'मान' है और तीसरा मान यह है कि बॉक्स चेक किया गया है, जो गलत है। तो, क्रम बॉक्स को चेक या आप निम्न कर सकते अनचेक करने में: क्योंकि इस मामले में यह बात नहीं है में

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

दूसरी पंक्ति सिर्फ मूल्य के क्षेत्र में एक यादृच्छिक स्ट्रिंग डालता है।

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

जहां @selected चयनित तत्व के साथ एक सरणी है।

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

में आपका स्वागत है अतः करने के लिए देखो! क्या आप कृपया कुछ स्पष्टीकरण जोड़ सकते हैं? और यदि आप [एसओ टूर] लेते हैं तो बीटीडब्ल्यू (http://stackoverflow.com/tour), आपको अपना पहला चमकदार बैज मिलेगा;) –

0

साली द्वारा उत्तर पर बिल्डिंग। आश्चर्यजनक रूप से, कोई लेबल टेक्स्ट वाला चेकबॉक्स देता है। यदि आप सरणी पर पुनरावृत्त कर रहे हैं तो यहां बताया गया है कि आप टेक्स्ट कैसे प्रदर्शित कर सकते हैं।

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