Я работаю с Rails 3.1.0 и Devise 1.4.8, и я новичок в обоих.
Я хочу разрешить несколько пользователей для одной учетной записи. Первый зарегистрировавшийся пользователь создает учетную запись (вероятно, для своей компании), затем этот пользователь может добавить дополнительных пользователей. Пользователь всегда привязан ровно к одной учетной записи.
У меня есть таблицы «Пользователи» и «Учетные записи». Сокращенные модели:
class User < ActiveRecord::Base
belongs_to :account
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable, :lockable, :timeoutable
attr_accessible :email, :password, :password_confirmation, :remember_me
end
class Account < ActiveRecord::Base
has_many :users, :dependent => :destroy
attr_accessible :name, :account_type
end
Вопрос в том, когда первый пользователь регистрируется, как мне создать и учетную запись, и пользователя?
Нужно ли мне изменять / переопределять Devise registrations_controller, что-то вроде ответа здесь ? Я не мог понять, как создать Аккаунт, а затем передать его Devise для создания Пользователя.
account_id уже находится в модели User. Следует ли мне добавить account_name и account_type в модель User и создать новую запись Account , если account_id не передан? В этом случае я пытаюсь скрыть создание учетной записи от Devise, но не уверен, что это сработает, поскольку мне все еще нужно запрашивать account_name и account_type на странице регистрации.