我使用Rails generate
命令创建了一个模型:
rails generate model Group users:string mo@x1[35%]
invoke active_record
create db/migrate/20151130131319_create_groups.rb
create app/models/group.rb
invoke test_unit
create test/models/group_test.rb
create test/fixtures/groups.yml
现在在rails控制台中,当我尝试创建一个对象时,它会给我一个undefined method
错误。
2.0.0-p647 :032 > Google = Group.create(users: "Google")
NoMethodError: undefined method `each' for "Google":String
任何人都可以对此有所了解吗?
这是.rb
的{{1}}文件:
Group
答案 0 :(得分:1)
您的群组模型是否具有名为:用户的 has_many 关联?
在我看来,您的数据库列之间存在命名冲突,称为"用户"以及与用户模型的has_many关联,也称为" users"。
如果是这样,你的create()正在尝试使用字符串设置关联的用户记录,当它期待一组用户时。
此处的最佳解决方法是从"用户"重命名您的分组表中的数据库列。对于那些不会发生冲突的事情。
答案 1 :(得分:0)
检查迁移文件。也许代码块出了问题。