私は最初の質問を簡単に突き止める方法は確かではありませんでした。私は、オブジェクトのネストされたハッシュタイプをアクティブなレコードによってPGに格納できるフォームに変換しようとしています。私は宝石「入れ子式屋根」を試しましたが、それを働かせることはできませんでした。列などのシリアライズを試みました...オブジェクト自体は、オブジェクトを含む多次元配列です。私はMD配列を、キーがMD配列の結合されたインデックスを表す構造のネストされたハッシュタイプに変換することは、オブジェクトに直接対応すると考えています。オブジェクトは、JSON変換にとって最も簡単なものです。構造体には多くのデータが含まれているので、PG/ActiveRecordをオフにしている可能性があります。あるいは、構文の重要な部分が欠落している可能性があります。ここでpostgresqlのjson列が値を受け入れず、記憶の後に呼び出されたときにnilを返す
は、そのコールテストし、データベースのエントリを作成するためのコードです:ここで
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
これを格納するための優れた戦略のいずれかですべてのヘルプ、あるいは私が完全に見落としている可能性のある文法的な違いが大いに評価されるだろう。ありがとう!
'where'はリレーションを返します。Turn.where(turn:@counter).to_a'またはTurn.where(turn:@counter).last'などが必要です。 – Anthony
申し訳ありません。最初に、それが私にヒントを与えるかどうか見るためにいくつかの異なることを試みてきました。 –
'turner.border'の出力は何ですか? 'create!'を実行してログを表示できますか? – Anthony