具有哈希值的列现在是别名后的字符串

时间:2014-05-03 18:00:53

标签: ruby-on-rails ruby psql

我有一个psql表,其中包含一个名为params的列,其中包含一个哈希值。以下是我的情景:

<小时/> 当我执行以下查询...

game = Game.select('games.params').where(id: 123).first

...打印出来......

p game.params.class # => !ruby/class 'ActiveSupport::HashWithIndifferentAccess

现在我可以正常返回返回哈希中的访问值。

<小时/> 但是当我在我的查询中给列名称添加别名时(这是我的问题)......

game = Game.select('games.params as parameters').where(id: 123).first

...打印出来......

p game.parameters.class # => !ruby/class 'String'

我需要能够在查询中更改列名,然后访问哈希中的值,但是当我尝试p game[:time]时,它被视为字符串。

我是Ruby和Ruby on Rails的新手,所以这可能很容易理解,但我现在处于死胡同。

1 个答案:

答案 0 :(得分:0)

这个查询怎么样:

g = Game.find 123
g.params