在集合上的check_box帮助器上获取Fixnum错误

时间:2012-10-04 08:32:07

标签: ruby-on-rails ruby-on-rails-3

这就是我想要做的事情:

<% Topic.all.each do |topic| %>
  <%= f.check_box "topic_ids[]", topic.id, false %>
<% end %>

那是在form_for内。

这是我得到的错误:

undefined method `merge' for 1:Fixnum

围绕主check_box行。

我的Topic模型实际上是这样的,我希望复选框能够在每个复选框上显示主题的名称:

# Table name: topics
#
#  id         :integer          not null, primary key
#  name       :string(255)

我错过了什么?

2 个答案:

答案 0 :(得分:1)

您应该使用check_box_tag代替f.check_box

check_box_tag "topic_ids[]",topic.id 

对于模型有界形式,差异为f.check_box,并且提供给复选框的值是给定模型隐式的,不需要提供。

答案 1 :(得分:0)

你试过了吗?

<% Topic.all.each do |topic| %>
  <%= f.check_box "topic_ids[]", topic.id.to_s, false %>
<% end %>