我想添加用户可以属于老师的关系。教师存储在Admins表中。通常情况下,没人会(零),但是对于在职学生,我会添加一个特定的人作为他们的老师。
通常我认为可以进行此类迁移:
class AddTeacherToUser < ActiveRecord::Migration
def change
add_reference :users, :admin, index: true
end
end
然后在模型中,我可以这样添加:
class User < ApplicationRecord
belongs_to :admin
...
class Admin < ApplicationRecord
has_many :users
...
但是我想在用户字段teacher_id
中使用admin_id
,这可能吗?我可以在迁移中还是在模型中重命名字段?
Rails版本:4.2
答案 0 :(得分:4)
在Rails 4.2+中,您可以在数据库中设置外键:
在迁移中,请执行以下操作:
add_reference :users, :teacher, index: true
add_foreign_key :users, :admins, column: :teacher_id
在您的用户模型中:
belongs_to :teacher, class_name: "Admin"