【发布时间】:2011-07-06 21:11:36
【问题描述】:
在 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”吗?方法?
提前致谢
【问题讨论】:
标签: ruby-on-rails ruby proc-object