为什么我的复选框没有标签? - Ruby on Rails - HAML

时间:2014-07-14 13:32:48

标签: ruby-on-rails haml

我想要一个复选框来显示一个标签而没有太多运气。这是我的代码:

= form.check_box :site_id, { :inline_label => site.name, :rel => 'onOff' }, site.try(:id), nil

我收到了复选框,工作正常,但我没有标签。我以为:site_id会成为标签。当我尝试为网站ID添加字符串时,我得到一个no方法错误。我甚至尝试添加这样的标签:

%label.checkbox{ :for => "site_id" }
    = form.check_box :site_id, { :inline_label => site.name, :rel => 'onOff' }, site.try(:id), nil

我仍然得到了相同的结果。我做错了什么?

1 个答案:

答案 0 :(得分:3)

form_for一起使用的

check_box辅助方法,只是生成一个复选框而不是标签,这就是您的情况。要获取复选框的标签,您必须明确指定它,如

 = form.label :site_id 
 = form.check_box :site_id, {:rel => 'onOff' }, site.try(:id), nil

另外,inline_label帮助中可以使用simple_form_for选项,例如,使用simple_form gemform_for帮助程序中无法使用{/ 1}}。