Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I have a User model and a Question model.

I want to add a belongs_to :user association to the Question model, but I want that association to be called author. For example, I would call question.author rather than question.user.

Obviously this requires two steps:

  1. The association in the models/question.rb
  2. The migration (note both the user and question tables already exist)

Surprisingly I haven't found the single, conventional method of doing this in Rails 5 in a different answer.

How do I do this?

like image 868
rigdonmr Avatar asked Nov 02 '16 08:11

rigdonmr


1 Answers

rails g migration add_user_to_questions user:references
rails db:migrate

Then in model:

class Question < ApplicationRecord # or ActiveRecord::Base
  belongs_to :author, class_name: 'User', foreign_key: :user_id
end
like image 159
Andrey Deineko Avatar answered Oct 04 '22 00:10

Andrey Deineko