0

是否可以添加对不同于列的列的引用id

通常在创建两个模型(Model1 和 Model2)之间的关系时,使用model1:referencesandmodel2:references来创建关系模型会自动添加一个model1_idandmodel2_id列(以及一个索引和一个外键引用)以用于 model1/model2 关联:

rails generate Relationship model1:references model2:references

比如说Model1 = TeacherModel2 = Pupil
假设 Model2 的记录(学生的记录)不时通过 rake 任务进行更新:它的属性值(例如nameschool_credits)会改变,保留idranking(1 到 100)。

将老师与a联系起来pupil_id没有多大意义。每位教师都应该使用属性而不是.
作为外键引用来与其学生的姓名相关联。pupil.namepupil.id

那可能吗?
我可以在命令中添加哪些选项,或者我应该添加rails generate Relationship什么参考来获得这个结果?

4

1 回答 1

1

是的你可以。从以下链接检查有关 foreign_key 和 primary_key 的部分。我不使用生成器,因此我无法评论将哪些选项传递给生成器,但您只需要确保要用作外键的列存在于您的表中,并且您在模型文件中分配了适当的外键。

但是你为什么需要它?我不明白您可能有什么样的用例需要您保持 id 和排名相同。

于 2016-08-28T12:29:27.457 回答