Разработать методы в файле помощника? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть вспомогательный модуль ModelHelper. Я хочу использовать user_signed_in? метод внутри этого вспомогательного модуля. Но это показывает ошибку. Как я могу вызвать этот метод внутри вспомогательного файла.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Метод user_signed_in?, определенный в модуле Devise::Controllers::Helpers::ClassModule. Короче говоря, он просто проверяет, аутентифицирован ли scope в warden. Таким образом, вы можете попробовать проверить это без Devise помощников

def #{mapping}_signed_in?
  !!current_#{mapping}
end

def current_#{mapping}
  @current_#{mapping} ||= warden.authenticate(scope: :#{mapping})
end
0 голосов
/ 17 февраля 2020

Я думаю, что вы можете использовать current_user.present? Во всяком случае, помощники рельсов очень уродливы, и я советую не использовать его вообще

...