Ruby on rails 访问从数据库返回的散列中的数据

Ruby on rails 访问从数据库返回的散列中的数据,ruby-on-rails,ruby,hash,Ruby On Rails,Ruby,Hash,我是一名PHP开发人员,正在学习RubyonRails。我正在从事一个项目,其中字符串集合被序列化并存储在数据库中。我试图访问这些数据,但在一个mailer类中我正在编写,但遇到了麻烦。在将数据从数据库中取出的模型中,我可以使用email.attr(key,'subject')访问我需要的内容,但是当我将email变量传递给mailer类并尝试在mailer类中使用相同的访问方法时,我会收到一条错误消息“undefined variable'key'” 下面是我运行email.inspect时的

我是一名PHP开发人员,正在学习RubyonRails。我正在从事一个项目,其中字符串集合被序列化并存储在数据库中。我试图访问这些数据,但在一个mailer类中我正在编写,但遇到了麻烦。在将数据从数据库中取出的模型中,我可以使用
email.attr(key,'subject')
访问我需要的内容,但是当我将email变量传递给mailer类并尝试在mailer类中使用相同的访问方法时,我会收到一条
错误消息“undefined variable'key'”

下面是我运行email.inspect时的数据转储

{"subject"=>"Subject of Email", "intro"=>"Welcome"}

我在谷歌上的搜索结果没有返回任何有用的信息。

通常,您可以通过如下操作访问散列中的数据:

email["subject"]
在您的例子中,看起来电子邮件对象具有属性,因此它不是散列,而是实际对象。在这种情况下,假设您有一个主题和简介的attr_阅读器,您将执行以下操作:

email.subject

然而,我认为上面示例中的错误可能是b/c,方法调用中的“键”一词没有被引用(因此,它将其视为变量)。只是一个猜测,因为我从未见过通过attr方法访问属性。

嘿,你应该发布更多的代码。谢谢!我花了几天时间试图找出如何保存json api调用响应中的数据。这正是我需要的。(我是一名前端设计师,正在从事rails后端工作。)