ruby on rails - example - Después de actualizar a Rails 5 y Devise 4.0.0.rc1, ¡el dispositivo authenticate_user! método no está definido
devise rails español (3)
Podría identificar el problema, en los rieles 5, habrá una excepción si el método de omisión no está definido en el momento de la llamada a menos que agreguemos :unless
condición.
Tenía una aplicación de rieles que funcionaba perfectamente con el dispositivo 3 y los rieles 4. DEPRECATION WARNING: alias_method_chain is deprecated
rieles a 5 y dio DEPRECATION WARNING: alias_method_chain is deprecated
. Así que tuve que cambiar la versión del ingenio a 4.0.0.rc1.
¡Ahora parece que el dispositivo no está generando los métodos como authenticate_user!
, is_admin
, etc.
Estoy teniendo el siguiente error
Before process_action callback :authenticate_user! has not been defined (ArgumentError)
Intenté todo, incluso desinstalar, idear e instalar de nuevo, luego intenté crear un modelo separado desde cero y aún así los métodos no están definidos.
Alguna idea, por favor?
Hasta que rails5 soporte aterrice en el diseño, puede intentar usar este tenedor:
gem ''devise'', github: ''twalpole/devise'', branch: ''rails5''
La respuesta para esto es simplemente cambiar:
skip_before_action :authenticate_user!
a ---
skip_before_action :authenticate_user!, raise: false
https://github.com/plataformatec/devise/issues/4207 https://github.com/thoughtbot/clearance/issues/621