Rails 5.1 вложенные сервисные папки - PullRequest
0 голосов
/ 26 октября 2018

Рельсы 5.1.3 Ruby 2.2.5 Mac OS Sierra 10.12.6

Ближе к безумию. У меня есть папка служб в моем приложении. он содержит другую папку, например «пользователи» ... так, например, «app / services / users / AuthenticationService.rb».

В настоящее время у меня есть модули, и основная цель - использование контроллера.

AuthenticationService.call params[:email], params[:password]

Стоит отметить, что это тоже не работает

auth = Services::Users::AuthenticationService.call params[:email], params[:password]

Это код услуги:

module Services
  module Users
    module AuthenticationService
      class << self
        def call(email, password)
        end
      end
    end
  end
end

Rails возвращает это исключение:

#<NameError: uninitialized constant AuthenticationController::Services>

1 Ответ

0 голосов
/ 26 октября 2018

Назовите файл app/services/users/authentication_service.rb и служба должна быть Users::AuthenticationService, она должна работать сама по себе; -)

Сервис должен быть примерно таким:

  module Users
    module AuthenticationService
      class << self
        def call(email, password)
        end
      end
    end
  end

Избавьтесь от внешнего module Services, чтобы иметь возможность использовать Users::AuthenticationService само по себе

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