Ruby on rails 未定义的方法'each';在Rails 4中创建新对象时

Ruby on rails 未定义的方法'each';在Rails 4中创建新对象时,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我使用Railsgenerate命令创建了一个模型: rails生成模型组用户:stringmo@x1[35%] 调用活动记录 create db/migrate/20151130131319_create_groups.rb 创建app/models/group.rb 调用测试单元 创建测试/模型/组_test.rb 创建测试/装置/组.yml 现在在rails控制台中,当我尝试创建一个对象时,它会给我一个未定义的方法错误 2.0.0-p647:032>Google=Group.create

我使用Rails
generate
命令创建了一个模型:

rails生成模型组用户:stringmo@x1[35%]
调用活动记录
create db/migrate/20151130131319_create_groups.rb
创建app/models/group.rb
调用测试单元
创建测试/模型/组_test.rb
创建测试/装置/组.yml
现在在rails控制台中,当我尝试创建一个对象时,它会给我一个
未定义的方法
错误

2.0.0-p647:032>Google=Group.create(用户:“谷歌”)
NoMethodError:Google的未定义方法'each':字符串
有人能解释一下吗

这是
组的
.rb
文件:

类组
检查迁移文件。代码块可能有问题。

您的组模型是否有名为的多个关联:用户

在我看来,db列“users”与用户模型(也称为“users”)之间存在命名冲突

如果是这样,则create()将尝试使用字符串设置关联的用户记录,而它需要一个用户数组


这里最好的解决方法是将“组”表中的数据库列从“用户”重命名为不会冲突的列。

关联是指与名为“用户”的模型的关系?我与名为User的模型建立了M:M关系。rails生成迁移创建连接表组UserYes。您有命名冲突。我编辑了我的答案。