Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何使用复选框标记在Haml中选中复选框_Html_Ruby_Checkbox_Haml - Fatal编程技术网

Html 如何使用复选框标记在Haml中选中复选框

Html 如何使用复选框标记在Haml中选中复选框,html,ruby,checkbox,haml,Html,Ruby,Checkbox,Haml,有人能告诉我如何将这些复选框设置为选中吗?我相信这很简单,但经过一个小时的尝试,我想我需要问一下!谢谢 = 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'

有人能告诉我如何将这些复选框设置为选中吗?我相信这很简单,但经过一个小时的尝试,我想我需要问一下!谢谢

= 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'
参考号

您的
第二个参数
必须是复选框的


您的
第三个参数
必须是一个
布尔条件
,该条件返回
真/假
,并且取决于它复选框是
选中/未选中的

在行尾使用真表示选中或假表示未选中

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


根据api dock,复选框标记采用以下选项:

复选框\标记(name,value=“1”,checked=false,options={})

这意味着第一个值是名称,第二个值是“值”,第三个值是复选框是否选中,默认为false。因此,要选中或取消选中该框,您可以执行以下操作:

- if (some condition)
  = check_box_tag "ratings[#{rating}]", "anystring", true
- else 
  = check_box_tag "ratings[#{rating}]" 
第二行只是将一个随机字符串放入值字段中,因为在这种情况下,它并不重要

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

其中
@selected
是一个包含所选元素的数组。

基于SAI的答案。奇怪的是,
复选框标记
返回一个没有标签文本的复选框。下面是在数组上迭代时如何显示文本

= check_box_tag "ratings[#{rating}]",{},{:checked => ""}
- Puppies.each do |puppy|
  = check_box_tag(puppy.name, puppy.name, puppy.goodboy?)
  = puppy.name

欢迎来到SO!你能补充一些解释吗?顺便说一句,如果你参加,你将获得你的第一枚闪亮徽章;)对于rails 5,我只看到
= check_box_tag "ratings[#{rating}]",{},{:checked => ""}
- Puppies.each do |puppy|
  = check_box_tag(puppy.name, puppy.name, puppy.goodboy?)
  = puppy.name