如果我已经为要关联的表创建了模型,如何在 rails 5 中创建外键?



我发现的所有参考文献都向我展示了如何在表创建上做到这一点,或者是针对较早版本的Rails。理想情况下,我希望在问题表中命名为" furety_id",以将其与其他用户区分开来,这些用户可能会在以后留下评论或答案。

class Question < ApplicationRecord
  belongs_to :user
end
class User < ApplicationRecord
  has_many :questions
end

您可以通过rails generate migration RenameUserFkOnQuestion在终端中创建一个新的空迁移文件。打开它并建立您的迁移。如果您不确定某物的名称,这是一个方便的指南。

def change
  change_table :questions do |t|
    t.rename :user_id, :author_id
  end
end

运行迁移并前往您的模型。您需要这样更新您的关系:

class Question
  belongs_to :author, class_name: 'User'
end
class User
  has_many :questions, inverse_of: :author
end

那么你应该很好。

相关内容

  • 没有找到相关文章

最新更新