在 RoR 的所有教程中,我看到了编码人员选择使用 Proc.new 的实例,而这似乎既不必要又没有吸引力。
例如,这是一个放置在模型中的回调,一个使用 Proc.new 另一个大概做同样的事情:
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?他们不是都叫“paid_with_card”吗?方法?
提前致谢