Как создать данные по умолчанию в приложении rails при использовании гема Devise - PullRequest
0 голосов
/ 05 мая 2018

Я создал базовое бухгалтерское приложение с моделью учетных записей, это была базовая платформа. Я реализовал гем разработки, чтобы отображать только те учетные записи, которые были созданы с тем же user_id, что и текущий, и все работает отлично. Как мне теперь создать набор учетных записей, которые будут установлены в качестве учетных записей по умолчанию для новых пользователей при регистрации, вместо того, чтобы создавать все учетные записи сами?

1 Ответ

0 голосов
/ 05 мая 2018

Вы можете подключиться к контроллеру Devise, вызвав super с блоком:

# config/routes.rb
devise_for :user, controllers: {
  registrations: 'my_registrations'
}

# app/controllers/my_registrations_controller.rb
class MyRegistrationsController < Devise::RegistrationsController
  def create
    super do |user|
      5.times { user.accounts.create }
    end
  end
end

Devise возвращает блок после того, как пользователь был сохранен. Этот подход, как правило, предпочтительнее для обратных вызовов модели, поскольку вы лучше контролируете, где именно в вашем приложении он выполняется, и это не замедляет тестирование.

Логика заполнения учетной записи также является основным кандидатом для извлечения в объект службы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...