Rails 5의 연관 콜백을 사용하고 있습니다. 이 문서에서 연관에서 객체 제거를 중단하려면 예외를 throw해야합니다.예외를 throw 할 때 before_remove를 사용하여 서버를 중단하면 오류가 발생합니다.
나는 정확히하고 있어요했으나 서버와 충돌한다 :before_add 콜백에서 예외가 발생하면 객체가 컬렉션에 추가되지 않습니다. 마찬가지로 before_remove 콜백에서 예외가 발생하면 객체가 컬렉션에서 제거되지 않습니다.
UncaughtThrowError (uncaught throw :abort)
이 내 코드가 같은 모습입니다 : 무슨 일이 일어나고 있는지
def can_remove_association(object)
return unless object.condition
errors[:base] << "Can't be removed."
throw(:abort)
end
어떤 단서? throw(:abort)
은 제거 할 개체를 피하고 있지만 추한 500 개를 얻습니다!
당신이 throw'가 올바른지'확실하다? 나는 그것을 본 적이 없다. 보통'raise'를 사용합니다 – Fallenhero
https://ruby-doc.org/core-2.4.0/Kernel.html#method-i-throw – Fallenhero
던지기를 사용하여 해결할 수 있었습니까? 같은 오류가 발생합니다. 그러나 나는 그것을 다른 곳에서 사용해 왔고, 왜 우둔한 지 모르겠다. 왜 여기에서 일하지 않는가. – Aakanksha