Rails 5:将自定义名称的belongs_to关联添加到模型和迁移

rig*_*nmr 14 ruby-on-rails ruby-on-rails-5

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

我想为模型添加belongs_to :user关联Question,但我希望调用该关联author.例如,我会打电话question.author而不是question.user.

显然这需要两个步骤:

  1. models/question.rb中的关联
  2. 迁移(注意用户和问题表已经存在)

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

我该怎么做呢?

And*_*eko 14

rails g migration add_user_to_questions user:references
rails db:migrate
Run Code Online (Sandbox Code Playgroud)

然后在模型中:

class Question < ApplicationRecord # or ActiveRecord::Base
  belongs_to :author, class_name: 'User', foreign_key: :user_id
end
Run Code Online (Sandbox Code Playgroud)