Wie kann ich HABTM-with-Foreign-Key-Beziehungen in meine Fixtures laden?
Ich habe die folgenden zwei Modelle: Schule und Benutzer und eine HABTM-Beziehung zwischen ihnen mit einer Verknüpfungstabelle.
In dieser Verknüpfungstabelle wird der Fremdschlüssel, der auf die Benutzertabelle verweist, nicht aufgerufenuser_id
aberstudent_id
.
class School < ActiveRecord::Base
has_and_belongs_to_many :students, :class_name => "User", :join_table => "schools_students", :foreign_key => "student_id"
end
class User < ActiveRecord::Base
has_and_belongs_to_many :studying_schools, :class_name => "School", :join_table => "schools_students", :foreign_key => "school_id"
end
Ich möchte in meinen Benutzer- und Schul-Fixtures eine Schule und einen Benutzer erstellen, aber der unter Benutzer definierte foreign_key scheint ein Problem zu sein.
fixtures/users.yml
:
user1:
name: Student
studying_schools: school1
fixtures/schools.yml
:
school1:
name: School 1
active: true
students: user1
Das Laden der obigen Geräte gibt eine ActiveRecord-Ausnahme zurück:ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'user_id' in 'field list': INSERT INTO schools_students (student_id, user_id) VALUES (6562055, 14302562)
Was mache ich falsch ?