问题
After upgrading to Rails 3, fixtures that refer to other labelled fixtures (for relationships) stop working. Instead of finding the actual fixture with that name, the fixture label is interpreted as a string.
Example:
# Dog.yml
sparky:
name: Sparky
owner: john
# Person.yml
john:
name: John
Where Dog "belongs to" person.
The error message is:
SQLite3::SQLException: table dogs has no column named 'owner'
回答1:
Try
# Dog.yml
sparky:
name: Sparky
owner: john (Person)
# Person.yml
john:
name: John
See the "polymorphic belongs_to" section of http://api.rubyonrails.org/classes/Fixtures.html
回答2:
try this:
sparky:
name: Sparky
owner: john (Person)
来源:https://stackoverflow.com/questions/3026654/labeled-fixtures-for-associations-in-rails-3-broken