2014-07-14 63 views
2

我想获得一个复选框来显示标签,没有太多的运气。这里是我的代码:为什么我的复选框没有标签? - Ruby on Rails - HAML

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

我得到的复选框,工作正常,但我没有标签。我认为:site_id就是标签。当我尝试为网站ID添加一个字符串时,我得到一个无方法错误。我甚至试图添加一个这样的标签:

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

我还是得到了同样的结果。我究竟做错了什么?

+0

确实是在html页面这个'form.check_box:site_id'转换成ID为'site_id'的对象? –

+0

对不起,我不明白。 – jhamm

+0

我说过关于生成的html –

回答

3

check_boxform_for一起使用的辅助方法,只是生成一个复选框而不是标签,这就是您的情况。为了得到该复选框的标签,你就必须明确指定它像

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

此外,使用simple_form geminline_label选项在simple_form_for助手即可用,是不是在form_for助手可用。