RoR의 모든 자습서에서 코더가 Proc.new를 사용하기로 선택한 경우는 겉으로보기에는 불필요하고 다소 매력적이지 않은 경우가 있습니다.Proc.new를 사용하여 Rails 콜백에서 메소드를 호출하는 이유는 무엇입니까?
class Order < ActiveRecord::Base
before_save :normalize_card_number,
:if => Proc.new { |order| order.paid_with_card? }
end
class Order < ActiveRecord::Base
before_save :normalize_card_number, :if => "paid_with_card?"
end
따라서 차이가 무엇 하나 다른 하나는 아마도 같은 일을하고 Proc.new 사용하여 모델에 배치를 위해
예, 여기 콜백은? 왜 Proc를 사용합니까? 그들은 둘 다 "paid_with_card"라고 부르지 않습니까? 방법? 사전에
감사
예를 들어, paid_with_card와 같은 메소드를 사용하여 레일 모델을 흩 뜨리지 않는 것이 더 좋을 수도 있습니다. – sunkencity
필자는 다음과 같이 생각합니다. 자동으로 포함되고 다른 컨텍스트에서 재사용되는 구성 옵션이 많다는 것을 의미합니다. 기본 처리 방법 : if => string, proc, etc와 같은 옵션을 설정하는 방법이 있습니다. – sunkencity