私のコードでは、JSONからActiveRecordモデルを動的にインスタンス化しようとしています。サンプルJSONは次のとおりです。ruby from_jsonがオブジェクトをインスタンス化する - IDがポピュレートされない
{"id":10,"name":"XYZ"}
私はルビーからインスタンス化しようとすると:
file_name = "json_file.json"
method = "name"
klass = Kernel.const_get(method.classify)
json = File.read(file_name)
instance = klass.new.from_json(json)
しかし、インスタンスはタイプName
で作成されたとき、それはJSONからid
値が含まれていません。それは無名ですが、指定したとおりに10にします。
instance.save!
を挿入しようとすると、毎回新しいIDが作成されますが、これは私が望むものではありません。
何故その理由が考えられますか?
ありがとうございます!しかし、私はこのオブジェクトをActiveRecord基盤とは独立したスタンドアロンオブジェクトとして動作させたいと思っています。 – Sid
あなたは「私はJSONからActiveRecordモデルを動的にインスタンス化しようとしています。したがって、クラスがActiveRecordから継承する場合は、そのクラスにデフォルトが適用されます。 –