Rails 5:添加belongs_to自定义名称关联到模型,并迁移

Rails 5: Add belongs_to association with custom name to model, and migration

我有一个 User 模型和一个 Question 模型。

我想向 Question 模型添加一个 belongs_to :user 关联,但我希望该关联被称为 author。例如,我会调用 question.author 而不是 question.user.

显然这需要两个步骤:

  1. 协会在models/question.rb
  2. 迁移(注意用户表和问题表都已经存在)

令人惊讶的是,我没有在 Rails 5 中的不同答案中找到执行此操作的单一常规方法。

我该怎么做?

rails g migration add_user_to_questions user:references
rails db:migrate

然后在模型中:

class Question < ApplicationRecord # or ActiveRecord::Base
  belongs_to :author, class_name: 'User', foreign_key: :user_id
end