2015-11-28 3 views
0

У меня есть модель Института, использующая урок. Я хочу позволить Институту создать еще одну модель-модель - Пользователи. Я хочу, чтобы созданный пользователь принадлежал к институту, который создал его, добавив идентификатор института в модель пользователя.Разрешить пользователю создавать другого пользователя, который принадлежит ему/ей?

Но для этого я думаю, что мне придется переопределить контроллер регистрации по умолчанию только для модели пользователя. Если я это сделаю, это переопределит его и для модели Institutes (не уверен в этом), чего я не хочу.

Чтобы быть ясным, я не хочу использовать роли только в одной пользовательской модели. Я хочу, чтобы модель института была отдельной. Моя модель пользователя будет иметь отдельные роли (учитель и студент), которые институт может устанавливать при создании.

Как это сделать?

+0

Вы входите в систему как Институт или как пользователь? – bosskovic

+0

@ bosskovic Вы регистрируетесь как институт. Институт добавляет пользователя, а затем пользователи также могут войти. –

ответ

0

Как о чем-то вроде этого:

class User < ActiveRecord::Base 
    belongs_to :institute 
end 

class Institute < ActiveRecord::Base 
    has_many :users 
end 

В вашей форме создания пользователя, можно добавить скрытое поле institute_id, что соответствует в настоящее время подписан в институте.

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

Вы также можете повторно использовать ту же форму частично, условно отображая скрытое поле или выбор.

+0

Собственно, пользователь не может добавлять других пользователей. Возможность добавлять пользователей принадлежит только институту. и я получаю модельные отношения, в которых я застрял, как я могу обновить идентификатор института пользователя по мере создания института? –

+0

ОК, получилось, у вас есть 2 модели. Может ли быть Пользователь, который не принадлежит ни одному институту? Также может ли пользователь принадлежать к нескольким институтам? – bosskovic

+0

№. Каждый пользователь должен принадлежать к институту. –

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