在我的通话方法中,我想使所有报价过期,但是要这样做,我发现了两个特定的错误(验证和可能的AASM)并从中恢复。两者都应发送到Rollbar。
def call
all_to_expire.each do |offer|
offer.expire!(actor: self)
rescue StandardError => e
Rollbar.error(e)
end
end
上述方法似乎无效
答案 0 :(得分:2)
我不确定Ruby是否了解这种块结构。我将其重写为:
def call
all_to_expire.each do |offer|
begin
offer.expire!(actor: self)
rescue AASM::InvalidTransition, ActiveModel::ValidationError => e
Rollbar.error(e)
end
end
end