Неопределенная локальная переменная или метод с Rails & Devise - PullRequest
0 голосов
/ 29 ноября 2018
Rails 3.2
Devise
Devise security extensions

В моем приложении / views / users / shared / _links.slim у меня есть:

- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
  li.home-nav= link_to t('users.shared.didnt_received_unlock'), new_unlock_path(resource_name)

В моей модели пользователя у меня есть:

devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable,  :invitable, :confirmable,
     :password_expirable, :password_archivable, :session_limitable, :expirable, :secure_validatable,
     :lockable, :timeoutable

Когдапользователь пытается войти, я получаю следующую ошибку:

NameError (неопределенная локальная переменная или метод resource_class' for #<#<Class:0x000000098a1598>:0x000000092d4b60>): app/views/users/shared/_links.slim:5:in _app_views_users_shared__links_slim ___ 1531266065579142927_70700660 'app / views / layouts / application.html.slim: 96: в _app_views_layouts_application_html_slim___452855375923455357_79638440' app/middleware/catch_json_parse_errors.rb:8:in'

Есть идеи?

1 Ответ

0 голосов
/ 29 ноября 2018

resource_class доступно только в контроллере Devise, но не в вашем представлении _links.slim.Используйте User.unlock_strategy_enabled?(:email) вместо

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