Rails 4 앱에서 AASM 열이있는 ActiveRecord 모델이 있습니다. delayed_job_active_record와 함께 실패한 메서드를 사용하면 오류가 발생하여 AASM과 관련이 있습니다.AASM이있는 ActiveRecord 모델의 delayed_job - 실패한 메소드 오류가 삼키고 "잘못된 인수 수"가 대신 발생합니다
class MyModel < ActiveRecord::Base
include AASM
aasm do
# aasm setup here
end
def self.joberror
1/0 #bad code here
end
end
MyModel.joberror
는 ZeroDivisionError
으로 예측 실패합니다. 내가 delayed_job_active_record (MyModel.delay.joberror
) 내부에서이 방법을 실행할 때, 올바른 오류가 삼킨,이 대신 발생합니다 :이 방법에도 불구하고, aasm 보석 코드를 가리키는
wrong number of arguments (2 for 0)
/Users/myhome/myproject/.gems/gems/aasm-4.0.5/lib/aasm/persistence/base.rb:67:in `block (2 levels) in state_with_scope'
아아 크를 전혀 포함하지 않으며 실제 사례도 MyModel
입니다. 그러나 AASM 코드를 주석 처리하면 올바른 ZeroDivision 오류로 돌아갑니다.
나는 delayed_job이 수행하고자하는 메소드의 일부 직렬화를 수행하지만 이것이 그 문제를 해결할 수있는 이유를 충분히 이해하지 못한다고 읽었습니다.