我的模型中有一个使用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
答案 0 :(得分:-1)
尝试删除您的tmp文件夹并重新启动所有服务器。
rm -rf tmp/*