How to check a check box in Haml using check_box_tag

萝らか妹 提交于 2019-11-27 23:39:18

问题


Can someone tell me how to set these check boxes to checked? I'm sure it's simple, but after an hour of trying i think I need to ask! Thanks!

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

回答1:


Ref check_box_tag

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

Your 2nd parameter must be value of checkbox

Your 3rd parameter must be a boolean condition which return true/false and depends on it checkbox is checked/unchecked




回答2:


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

where @selected is an array with the element selected.




回答3:


According to the api dock, check box tag takes the following options:

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

This means the first value is the name, the second value is a 'value' and the third value is whether the box is checked, which is default to false. So, in order to check or uncheck the box you can do the following:

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

The second line just puts a random string into the value field because in this case it does not matter.




回答4:


Use true for Checked or false for Unchecked at the end of the line

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

or

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



回答5:


Building on the answer by Sali. Strangely, the check_box_tag returns a checkbox with no label text. Here's how you can display text if you're iterating over an array.

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



回答6:


= check_box_tag "ratings[#{rating}]",{},{:checked => ""}


来源:https://stackoverflow.com/questions/12957348/how-to-check-a-check-box-in-haml-using-check-box-tag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!