想知道是否有可能从Active Record中的范围中拯救
我的模特
class Question < ActiveRecord::Base
scope :active, -> {where("is_active = 't'")}
validates_inclusion_of :is_active, :in => [true, false]
end
在控制器中,我有一个函数可以返回一个活动问题(如果有的话)
def get_active_question
begin
@question = Question.active.first
end
end
我尝试使用rescue_from ActiveRecord::RecordNotFound, with: :no_record_error
,但这似乎没有效果
如果没有返回活动问题,如何捕获/解除异常? (我想提出另一种观点)。非常感谢
答案 0 :(得分:0)
您的范围绝不会引发异常。您使用的地方不是find
(可以引发异常)
def get_active_question
@question = Question.active.first
if @question
# you have a question
render 'one_view'
else
# no active questions
render 'another_view'
end
end