1

关于复选框的集合,我对 simple_form 的阅读感到有些困惑。也就是说,除了我的选择之外,我还期望什么。自述文件有:first, :last但没有真正解释这些词服务器的用途。

下面是我想要的两个不同的复选框集合。我还应该提到,每个复选框都与数据库中的一个布尔字段相关,它们的标签与列名相同。

<%= f.collection_check_boxes :options, [[false, 'App'], [false, 'DB'], [false, 'WCF']] %>
<%= f.collection_check_boxes :options, [[false, 'Com1'], [false, 'Com2'], [false, 'BofA']] %>

我忘了提,当我尝试加载此页面时遇到的错误是

wrong number of arguments (2 for 4)
4

1 回答 1

1

这个错误只是意味着你<%= 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 网站声明如下:

也可以给出一个应该生成复选框+标签的块。用标签包裹复选框,例如上面的:

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

Ruby Doc- SimpleForm collection_check_boxes

于 2013-06-21T19:19:42.303 回答