Rails4:我的hstore属性正在转换为String

时间:2014-12-04 07:21:34

标签: ruby-on-rails postgresql hstore

我的模型中有一个使用Postgres hstore扩展的Hash属性。问题是该属性由Rails4转换为String。这使我无法进行.each.map等基本操作来处理我的哈希属性。

使用Rails控制台,不会转换哈希值。打字:

@device.data
@device.data.class

提供Rails控制台:

{"city"=>"London", "owner_name"=>"John"}
Hash

在应用程序本身(使用导航器):

"\"city\"=>\"London\","\"owner_name\"=>\"John\"
String

你有什么想法吗?

更新

以下是模型:

class Device < ActiveRecord::Base

  belongs_to :company
  has_many :records

  validates :name, presence: true
end

以及相应的迁移文件:

class CreateDevices < ActiveRecord::Migration
  def change
    create_table :devices do |t|

      t.string :name
      t.hstore :data
      t.integer :company_id

      t.timestamps
    end

    add_index :devices, :name
  end
end

1 个答案:

答案 0 :(得分:-1)

尝试删除您的tmp文件夹并重新启动所有服务器。

rm -rf tmp/*