ActiveRecord オブジェクトを json にシリアル化する前に null 値を削除できるようにする ActiveRecord 設定はありますか?
そうでない場合、これを行う最善の方法は何ですか? ありがとう
ActiveRecord オブジェクトを json にシリアル化する前に null 値を削除できるようにする ActiveRecord 設定はありますか?
そうでない場合、これを行う最善の方法は何ですか? ありがとう
serializable_hash
モデル内でメソッドをオーバーライドできます
def serializable_hash(options)
super(options).select { |_, v| v }
end
ちなみに、インクルード (例: ) を使用する場合は、両方のモデルでProject.all.as_json(include: :tasks)
オーバーライドする必要があります。serializable_hash
def serializable_hash(adapter_options = nil, options = {}, adapter_instance = self.class.serialization_adapter_instance)
super(adapter_options, options, adapter_instance).select { |_, v| v }
end
多分
@instance.attributes.delete_if { |k, v| v.nil? }.to_json