2015-09-10 2 views
2

Я только начал изучать Rails. У меня есть следующий вопрос.Self Referencing ActiveRecord Model

Я сгенерировал модели «Пользователь» (таблица «пользователи»), и я хочу добавить отношение к менеджеру. Менеджер также является пользователем. Я хочу, чтобы иметь возможность написать:

user.manager # => returns User object 

Я попытался написать это:

class User 
    belongs_to :user, as: :manager 
end 

Но это не сработало. Не могли бы вы мне помочь.

+0

что такое ваш внешний ключ? –

+0

manager_id - это пользователи таблицы – rails8

ответ

2

Если Manager ссылается manager_id поле, а затем:

class User 
    belongs_to :manager, class_name: 'User' 
end 

Вы также можете определить subordinates пользователя, используя has_many соотношение:

class User 
    belongs_to :manager, class_name: 'User' 
    has_many :subordinates, class_name: 'User', foreign_key: 'manager_id' 
end 
1
belongs_to :manager, class_name: 'User', foreign_key: 'manager_id' 

Попробуйте

+0

Спасибо @ ror-developer – rails8

Смежные вопросы