有人可以告诉我如何设置这些复选框进行检查吗?我确定它很简单,但经过一个小时的尝试后我觉得我需要问一下!谢谢!
= 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'
答案 0 :(得分:15)
check_box_tag "ratings[#{rating}]", 1, !!(rating.rating)
您的2nd parameter
必须是value
复选框
您的3rd parameter
必须是boolean condition
,返回true/false
并依赖于此checked/unchecked
答案 1 :(得分:3)
check_box_tag "ratings[#{rating}]", 1, @selected.include?("#{rating}")
其中@selected
是一个选中了元素的数组。
答案 2 :(得分:2)
对于Checked使用true,对于行末
使用Unchecked为falsecheck_box_tag "ratings[#{rating}]", true #checked
或
check_box_tag "ratings[#{rating}]", false #unchecked
答案 3 :(得分:2)
根据api dock,复选框标记采用以下选项:
check_box_tag(name, value = "1", checked = false, options = {})
这意味着第一个值是名称,第二个值是'value',第三个值是是否选中该框,默认为false。因此,要检查或取消选中该框,您可以执行以下操作:
- if (some condition)
= check_box_tag "ratings[#{rating}]", "anystring", true
- else
= check_box_tag "ratings[#{rating}]"
第二行只是将一个随机字符串放入值字段,因为在这种情况下它并不重要。
答案 4 :(得分:0)
以Sali的答案为基础。奇怪的是,check_box_tag
会返回一个没有标签文本的复选框。如果您在数组上进行迭代,可以使用以下方法显示文本。
- Puppies.each do |puppy|
= check_box_tag(puppy.name, puppy.name, puppy.goodboy?)
= puppy.name
答案 5 :(得分:-3)
= check_box_tag "ratings[#{rating}]",{},{:checked => ""}