2015-04-10 3 views
0

Я работаю над проектом, который позволяет пользователю создавать компанию. Если пользователь создает компанию, пользователь будет администратором.Неопределенный об ассоциации моделей

Однако я также хотел бы, чтобы этот пользователь мог пригласить пользователей зарегистрироваться. Так что все пользователи будут принадлежать этой компании.

Таким образом, мой вопрос заключается в том, что компания технически я предполагаю, что принадлежу админу. Однако у компании также много пользователей.

Какая была бы правильная настройка ассоциации для этого?

ответ

0

У вас могут быть как belongs_to, так и has_many отношение к User с вашей модели Company в то же время. Установить псевдоним, чтобы отделить их, как это:

# app/models/company.rb 
belongs_to :admin, :class_name => 'User' 
has_many :users 

Теперь вы можете получить доступ к пользователю администратора через @company.admin и пользователей через @company.users.

+0

, то это будет admin_id вместо user_id Я предполагаю как имя столбца? – sja

0
class Company 

belongs_to :admin, :class_name => 'User', foreign_key: :admin_id 
has_many :users 

end 

Это должно сработать. При создании модели компании дайте

admin_id = @current_user.id 

@current_user при условии, что вы используете Devise для управления аутентификацией.

Приветствия,

Akhil

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