SORU
17 Ocak 2010, Pazar


ActiveRecord seri hale getirmek yerine JSON, YAML

Sıralanmış bir sütun kullanan bir model var:

class Form < ActiveRecord::Base
  serialize :options, Hash
end

Bir şekilde bu seri YAML yerine JSON kullanmak var mı?

CEVAP
12 Mayıs 2011, PERŞEMBE


Raylar 3.1 serialize ile özel bir kodlama kullanabilirsiniz.

class ColorCoder
  # Called to deserialize data to ruby object.
  def load(data)
  end

  # Called to convert from ruby object to serialized data.
  def dump(obj)
  end
end

class Fruits < ActiveRecord::Base
  serialize :color, ColorCoder.new
end

Bu yardımcı olur umarım.

Referanslar:

serializetanımı: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/base.rb#L556

Varsayılan YAML raylar ile birlikte gelen kodlayıcı: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/coders/yaml_column.rb

Ve bu load çağrısı olur: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/attribute_methods/read.rb#L132

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chrmoe

    chrmoe

    7 Kasım 2006
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011
  • ŠĩŗĜŕôŵåɭȍҭҭ

    ŠĩŗĜŕô

    29 Kasım 2009