讓我們想象一下我有一個類退出Ruby on Rails的控制方法從助手
class Test < ActiveRecord::Base
include AuthenticatorHelper
def test
authenticate_or_fail!
puts "If I fail, this should be unreachable"
end
end
和
module AuthenticationHelper
def authenticate_or_fail!
@user = User.find(params[:token])
unless @user
render :json => {code: 401, :err => 'Unauthorized'} and return
end
end
end
我想要做的是要麼認證或用JSON味精回覆。但是,它顯然忽略我return語句由於嵌套,它總是會打印我的消息
如果我失敗了,這應該是不可達
'的ActiveRecord :: Base'沒有一個'before_action' – Stefan
這是正確的@Stefan,這就是爲什麼我建議從'ApplicationController'繼承,而不是。我被「ActiveRecord :: Base」追蹤了,但是在顯示的上下文中使用它肯定是一個錯誤,所以我只是假設它必須按照描述來修復。 – ulferts