제품이라는 모델이 있습니다.콜백에 모델이 있는지 테스트하고, 업데이트하면 그렇지 않습니다.
p = Product.new(...) and p.save
나는 다음 acomplish 싶어요 :
같은 ID를 가진 다른 제품이있는 경우 (PK되지 않음), 우리 제품을 업데이트, 다른 우리는 새로운 하나를 만들 수 있습니다.
콜백 before_save 어쩌면 가능하다고 생각하십니까?
가 나는 속성이 업데이트됩니다, 그것은 새로운 모델이 만들어지지 않습니다 것을 의미 false를 반환,하지만 난 DB를 업데이트하기 때문에 롤백 생각이 시점에서,이
before_save :try, on: :create
def try
p = Product.where(id: self.id).first
p and p.update_attributes(...) and return false
*1
end
* 1처럼 tryied 저장되지 않습니다.