Forum: Ruby on Rails m:n realtions don't work with fixtures?!

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fdb488647484e40f785dde7134afc6d1?d=identicon&s=25 Heinz Strunk (cojones)
on 2008-11-05 16:03
Hello,

I'm currently trying to populate my database with fixtures and having a
problem.

The table USER has many GROUPS he belongs to and vice versa so it's m:n
relationship.

Model:
class User < ActiveRecord::Base
  has_many :user_groups, :dependent => :nullify
  has_many :groups, :through => :user_groups
end

class Group < ActiveRecord::Base
  has_many :user_groups, :dependent => :nullify
  has_many :users, :through => :user_groups
end

class UserGroups < ActiveRecord::Base
  belongs_to :user
  belongs_to :group
end

Fixuture of UserGroups:
one:
  user: one
  group: one
two:
  user: two
  group: two

And that's the error I get:
rake aborted!
Mysql::Error: #42S22Unknown column 'user' in 'field list': INSERT INTO
`user_groups` (`user`, `group`) VALUES ('two', 'two')

Anyone any idea how to solve it? Thanks!
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-11-05 16:12
(Received via mailing list)
On 5 Nov 2008, at 15:03, Heinz Strunk wrote:

>
>
>  user: two
>  group: two
>
> And that's the error I get:
> rake aborted!
> Mysql::Error: #42S22Unknown column 'user' in 'field list': INSERT INTO
> `user_groups` (`user`, `group`) VALUES ('two', 'two')
>

IIRC with the foxy fixtures stuff you don't need user_groups.yml at all

your users.yml can contain stuff like

bob:
   groups: one, two

Fred
Fdb488647484e40f785dde7134afc6d1?d=identicon&s=25 Heinz Strunk (cojones)
on 2008-11-05 17:01
Thanks!
Fdb488647484e40f785dde7134afc6d1?d=identicon&s=25 Heinz Strunk (cojones)
on 2008-11-05 17:17
Well, doesn't seem to work:

rake aborted!
Mysql::Error: #42S22Unknown column 'groups' in 'field list': INSERT INTO
`users` (`name`, `groups`) VALUES ('test', 'one')

Fixture of Users:
one:
  name: test
  groups: one
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-11-05 18:13
(Received via mailing list)
On 5 Nov 2008, at 16:17, Heinz Strunk wrote:

>
> Well, doesn't seem to work:

just as a sanity check, what version of rails are you using ?

Fred
Fdb488647484e40f785dde7134afc6d1?d=identicon&s=25 Heinz Strunk (cojones)
on 2008-11-05 19:06
rails -v
Rails 2.1.0
Fdb488647484e40f785dde7134afc6d1?d=identicon&s=25 Heinz Strunk (cojones)
on 2008-11-05 22:16
Spelling error in the model.rb. All good, thanks a lot!
This topic is locked and can not be replied to.