-1
在我的代码,我有ActiveRecord::Base
对象的数组,并保存它们,例如,我会做这样的事情:迭代没有明确的块成语
obj_list = [ar_obj1, ar_obj2, ar_obj3]
obj_list.each { |obj| obj.save! }
这或许会是很干爽代替地说:
obj_list.each.save!
但是,我看不出如何做到这一点。
在我的代码,我有ActiveRecord::Base
对象的数组,并保存它们,例如,我会做这样的事情:迭代没有明确的块成语
obj_list = [ar_obj1, ar_obj2, ar_obj3]
obj_list.each { |obj| obj.save! }
这或许会是很干爽代替地说:
obj_list.each.save!
但是,我看不出如何做到这一点。
您可以在这里使用Symbol#to_proc
快捷方式。但它仍然是一个块,只有隐藏。
obj_list.each(&:save!)
谢谢 - 这正是我正在寻找的!我认为这种形式对于休闲读者来说更具可读性。 –
尝试使用[搜索](http://stackoverflow.com/questions/6496931/apply-method-to-each-elements-in-array-enumerable) – ostapische
这可能是一个好主意来包装交易中的'save!'调用。 – Stefan