使用simple_form复选框的参数数量错误(4个为4)

关于复选框的集合,我读了一下simple_form有点困惑。 也就是说,除了我的选择之外,除了我的选择之外,我还期待什么呢? 自述文件有:first, :last但并没有真正解释这些单词服务器的用途。

以下是我想要的两个不同的复选框集合。 我还应该提到,每个复选框都与DB中的布尔字段相关,并且它们的标记与列名称相同。

   

我忘了提及,当我尝试加载此页面时出现的错误是

 wrong number of arguments (2 for 4) 

这个错误只是意味着你的<%= f.collection_checkboxes %>需要2个参数,但你给它4。请记住这个以供将来参考,因为这个错误很容易实现。

从以下示例开始:

 form_for @user do |f| f.collection_check_boxes( :options, [[true, 'Yes'] ,[false, 'No']], :first, :last ) do |b| b.label { b.check_box + b.text } end end 

rubydoc.info网站声明如下:

也可以给出一个应该生成复选框+标签的块。 要使用标签包装复选框,例如如上所示:

所以根据我对此的理解:first:last代表标签。 这样你就有了两个复选框。 这可能是truefalse但在那个选项数组之外,您正在为该类的实例提供标签。 让我们举个例子吧。 那就是为标签提供实例:first:last User类的:last 。 希望这能澄清事情。 链接如下:

Ruby Doc- SimpleForm collection_check_boxes