我有一个哈希如下。我需要知道是否可以访问display_name
对象,以便返回Active Record值。
{ "actor"=>
{ "id"=>1, "class"=>"User", "display_name"=>"#<User:0x007ffc8c498b18>" }
}
我假设我可以,因为他们不会在第一时间添加它。我知道我可以使用id和class键,但必须有理由拥有目标对象。如果这是不可能的,为什么你认为他们添加了它,我该怎么办呢?
答案 0 :(得分:1)
不幸的是,您无法使用现有哈希执行此操作。与“display_name”键关联的值是一个字符串。这意味着您将无法获得所有用户方法和属性。如果我不得不猜测,我会说编写生成哈希的代码的人可能假设User类上有一个to_s
方法,它将返回显示名称。
我会尝试其中一种方法:
to_s
添加User
方法,该方法将返回您需要的名称。这可能会在您的哈希中存储适当的数据。User
实例,而不是它的字符串表示。听起来你想做上面的选项3。如果你这样做,我建议将“display_name”键重命名为“user”,以使你的存储更加清晰。