在我的应用程序,我有一些代码,看起来像这样:红宝石方法,需要一个块,并调用该块
if is_translation?
@booking.enable_dirty_associations do
booking_update
end
else
booking_update
end
我想它,而不是看起来像这样:
is_translation? ? @booking.enable_dirty_associations : func do
booking_update
end
其中func
是采取该块并刚刚执行它的方法。
有没有一个内置的Ruby方法,或者可能是一个combinator函数来做到这一点?
是被传入的块吗?你以某种方式创造它?根据你提供的东西你不需要一个块,你可以这样做:“is_translation??booking.enable_dirty_associations:booking_update”并且“booking_update”是你正在工作的实例的方法。需要更多的信息真的有帮助。 – Brandon 2011-03-15 09:29:22
booking_update是我正在处理的实例的一种方法。 enable_dirty_associations我认为只需要一个块,我想在该块中执行的操作是调用booking_update。 – paulodeon 2011-03-15 10:02:48
作为一个例子,原型js库提供Prototype.K http://api.prototypejs.org/Prototype/K/函数,它返回它的参数不变。我想我正在寻找的东西是沿着这些线。 – paulodeon 2011-03-15 13:15:42