나는 좋은 해결책을 찾을 수 없다는 이상한 필요성이있다.Ruby 객체 이름을 문자열로
개체, 해시 또는 배열을 전달할 메서드가 있습니다. 그리고 내가 지나가고있는 객체, 해시 또는 배열의 이름을 가져올 수 있기를 원합니다. 여기
는 예는 다음과 같습니다에@user = User.find(5)
log_info("@user", @user)
def log_info(heading, obj)
Rails.logger.debug(heading)
Rails.logger.debug(obj.inspect)
end
모든 아이디어 :이 그냥이 작업을 수행하는 데에서 저를 방지 할 수
@user
{"active"=>true, "address1"=>"something", "address2"=>"", "city"=>"somewhere"}
: 뭔가를 기록 할
@user = User.find(5)
log_info(@user)
def log_info(obj)
Rails.logger.debug(obj.to_s)
Rails.logger.debug(obj.inspect)
end
이 일을 성취하는 방법? 귀하의 경우는 인스턴스 변수와 함께 작동하도록 요구하는 경우
호출 측에서 매개 변수의 이름을 원하십니까? –
문맥'log_info (@user)'에서,'@ user'는 이름의 개념이없는 참조 일뿐입니다. 따라서, 아니요,'log_info (@user)'에서'@ user'의 이름을 얻을 수 없습니다. – Candide