创建对象时Ruby on Rails NoMethodError

时间:2014-07-29 17:24:15

标签: ruby-on-rails ruby

我正在尝试使用group.group_member.build创建一个新对象,但这会引发错误:

NoMethodError: undefined method `group_member' for #<Group:0x007fe50d5468f8>

group.rb

belongs_to :owner
has_many :group_members

group_member.rb

belongs_to :group

我使用了成功创建群组的owner.build_group,我认为group.group_member.build应对group_member对象执行相同操作。

我也试过group.group_members.build,它会返回一个稍微不同的错误:

ActiveRecord::UnknownAttributeError: unknown attribute: group_id

感谢所有帮助,我似乎无法在这里找出问题。感谢。

1 个答案:

答案 0 :(得分:1)

您需要使用关联的名称,即复数group.group_members。更新您要使用的代码:

group.group_members.build

您的group_members表格需要group_id列才能生效。