我有以下两个模型:School和User,以及它们之间的HABTM关系,带有连接表.
在这个连接表的外键指的用户表中不叫user_id,但student_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
Run Code Online (Sandbox Code Playgroud)
我想在我的用户和学校设备中创建一个学校和一个用户,但在User中定义的foreign_key似乎是个问题.
fixtures/users.yml :
user1:
name: Student
studying_schools: school1
Run Code Online (Sandbox Code Playgroud)
fixtures/schools.yml :
school1:
name: School 1
active: true
students: user1
Run Code Online (Sandbox Code Playgroud)
加载上面的灯具会返回ActiveRecord异常:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'user_id' in 'field list': INSERT INTO schools_students (student_id, user_id) VALUES (6562055, 14302562)
我究竟做错了什么 ?
使用XSLT,我希望能够改变这个:
<doc>
<tag1>AAA</tag1>
Hello !
<tag2>BBB</tag2>
</doc>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<div class="doc">
<div class="tag1">AAA</div>
Hello !
<div class="tag2">BBB</div>
</div>
Run Code Online (Sandbox Code Playgroud)
...但没有明确指定样式表中的任何标记名称(现实世界中有太多标记名称)
最好的方法是什么?