postgresql中的Rails json列不接受任何值,并在存储后调用时返回nil
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql中的Rails json列不接受任何值,并在存储后调用时返回nil相关的知识,希望对你有一定的参考价值。
我不确定一个简单的方法来解释最初的问题。我试图将嵌套的哈希类型的对象转换为可以通过活动记录存储在PG中的表单。我已经尝试过gem“nested-hstore”,但无法让它工作。尝试过序列化列等...对象本身是一个包含Objects的多维数组。我相信将MD数组转换为嵌套的哈希类型结构,其中键表示MD数组的组合索引直接对应于包含对象应该是最容易进行JSON转换的对象。该结构包含大量数据,因此我认为可能会抛弃PG / ActiveRecord,或者我可能缺少语法的一个重要方面。
以下是创建数据库条目然后测试其调用的代码:
Turn.create(turn: @counter, board: arrHash.to_json, games_id:
@@current_game.id)
turner = Turn.where(turn:@counter).first
puts turner.board
这是迁移/表:
class CreateTurns < ActiveRecord::Migration[5.1]
def change
create_table :turns do |t|
t.integer :turn
t.json :board, default: "{}"
t.references :games, foreign_key: true, index: true
t.timestamps
end
end
end
任何有关存储此策略的更好策略的帮助,或者我可能完全忽略的语法差异都将非常感激。谢谢!
答案
好的,是的,问题是Turn类的belongs_to属性中的变量不是复数形式,这样就可以保持正确保存的转弯。 to_json方法适用于保存到PG。感谢Anthony帮助我,我已经完成了我正在实施的功能。
以上是关于postgresql中的Rails json列不接受任何值,并在存储后调用时返回nil的主要内容,如果未能解决你的问题,请参考以下文章