In a Rails unit test, how can I get a User fixture to load its associated Profile?
Posted
by MikeJ
on Stack Overflow
See other posts from Stack Overflow
or by MikeJ
Published on 2010-03-25T19:42:37Z
Indexed on
2010/03/26
0:53 UTC
Read the original article
Hit count: 568
In the documentation concerning Fixtures (http://api.rubyonrails.org/classes/Fixtures.html) they provide the following example of using label references for associations:
### in pirates.yml
reginald:
name: Reginald the Pirate
monkey: george
### in monkeys.yml
george:
name: George the Monkey
pirate: reginald
So following their lead, I have a User model that has_one :profile, a Profile model that belongs_to :user, and tried to set up fixtures per their example:
### in users.yml
reginald:
id: 1
login: reginald
### in profiles.yml
reginalds_profile:
id: 1
name: Reginald the Pirate
user: reginald
(Note: since my association is one-way, the User fixture doesn't have a "profile: reginalds_profile" association--putting it in causes an error because the SQL table has no profile_id attribute.)
The problem is, in my unit tests everything seems to load correctly, but users(:reginald).profile is always nil. What am I missing?
© Stack Overflow or respective owner