1
我想知道什么方法更新我的对象。我有ActiveRecord类Event
,其中列method_name
。有更新我的对象后保存调用方法在该列中的方法吗?获取和写入调用方法名称
更新
我虽然对这样的事情:
class Event
after_save :set_caller
def set_caller
self.update(method_name: caller)
end
end
但此时此刻呼叫者active_support/callbacks.rb
你知道如何让来电者的方法名。你也知道(可能)如何更新activerecord对象。这里有什么问题? –
一种方法保存您的对象,并且该方法反过来调用另一种方法来保存您的对象,并且链可能会更长。最后你想保存什么方法?第一个还是最后一个? –
您可以使用['after_commit'](https://github.com/rails/rails/commit/da840d13da865331297d5287391231b1ed39721b)回调获得['#caller'](http://ruby-doc.org/core-2.2。 2/Kernel.html#method-i-caller)并将其存储在某处。 – mudasobwa