2015-07-03 18 views
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

+1

你知道如何让来电者的方法名。你也知道(可能)如何更新activerecord对象。这里有什么问题? –

+0

一种方法保存您的对象,并且该方法反过来调用另一种方法来保存您的对象,并且链可能会更长。最后你想保存什么方法?第一个还是最后一个? –

+0

您可以使用['after_commit'](https://github.com/rails/rails/commit/da840d13da865331297d5287391231b1ed39721b)回调获得['#caller'](http://ruby-doc.org/core-2.2。 2/Kernel.html#method-i-caller)并将其存储在某处。 – mudasobwa

回答