2013-10-02 40 views
-1

在我的代碼,我有ActiveRecord::Base對象的數組,並保存它們,例如,我會做這樣的事情:迭代沒有明確的塊成語

obj_list = [ar_obj1, ar_obj2, ar_obj3] 
obj_list.each { |obj| obj.save! } 

這或許會是很乾爽代替地說:

obj_list.each.save! 

但是,我看不出如何做到這一點。

+1

嘗試使用[搜索](http://stackoverflow.com/questions/6496931/apply-method-to-each-elements-in-array-enumerable) – ostapische

+2

這可能是一個好主意來包裝交易中的'save!'調用。 – Stefan

回答

2

您可以在這裏使用Symbol#to_proc快捷方式。但它仍然是一個塊,只有隱藏。

obj_list.each(&:save!) 
+0

謝謝 - 這正是我正在尋找的!我認爲這種形式對於休閒讀者來說更具可讀性。 –