3
我有一個奇怪的需求,我找不到一個好的解決方案。Ruby對象名稱字符串
我有一個方法,我會傳遞一個對象,散列或數組。我希望能夠獲得我傳遞的對象,哈希或數組的名稱。
下面是一個例子:
@user = User.find(5)
log_info(@user)
def log_info(obj)
Rails.logger.debug(obj.to_s)
Rails.logger.debug(obj.inspect)
end
這將日誌是這樣的:
@user
{"active"=>true, "address1"=>"something", "address2"=>"", "city"=>"somewhere"}
這只是阻止我不得不這樣做:
@user = User.find(5)
log_info("@user", @user)
def log_info(heading, obj)
Rails.logger.debug(heading)
Rails.logger.debug(obj.inspect)
end
任何想法上如何做到這一點?
你想要在主叫方參數的名稱? –
在上下文'log_info(@user)'中,'@ user'只是一個沒有任何名稱的參考。所以,不,你不能從'log_info(@user)'得到'@ user'的名字。 – Candide