Используйте в Devise таблицы Account и User

Я работаю с 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 на странице регистрации.

19
задан Community 23 May 2017 в 11:33
поделиться