How to check a check box in Haml using check_box_tag

Deadly 提交于 2019-11-29 06:06:36

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

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

where @selected is an array with the element selected.

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.

rghjfjh

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

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
Sunny Sharma
= check_box_tag "ratings[#{rating}]",{},{:checked => ""}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!