Imaginons J'ai une classesortie Ruby On Rails méthode du contrôleur d'aide
class Test < ActiveRecord::Base
include AuthenticatorHelper
def test
authenticate_or_fail!
puts "If I fail, this should be unreachable"
end
end
et
module AuthenticationHelper
def authenticate_or_fail!
@user = User.find(params[:token])
unless @user
render :json => {code: 401, :err => 'Unauthorized'} and return
end
end
end
Ce que je veux faire est soit authentifie ou répondre avec un JSON msg. Cependant, il sera évidemment ignorer ma déclaration de retour en raison de l'imbrication et il sera toujours imprimer mon message
Si j'échoue, cela devrait être injoignable
'ActiveRecord :: base' n'a pas un' before_action' – Stefan
C'est @Stefan correct, c'est pourquoi je conseillai d'hériter de 'ApplicationController' au lieu . J'ai été mis en piste par 'ActiveRecord :: Base' aussi, mais l'utiliser dans le contexte affiché doit clairement être une erreur, donc j'ai simplement supposé qu'il devait être corrigé comme décrit. – ulferts