class SomeClass < ActiveRecord::Base belongs_to :user def self.serialize(attr_name, class_name = Object, exposed_fields = []) super(attr_name, class_name) serialized_attr_accessor attr_name, exposed_fields end def self.serialized_attr_accessor(attr_name, *args) args.first.each do |method_name| eval " def #{method_name} (self[:#{attr_name}] || {})[:#{method_name}] end def #{method_name}=(value) self[:#{attr_name}] ||= {} self[:#{attr_name}][:#{method_name}] = value end attr_accessible :#{method_name} " end end serialize :other_data, Hash, %w(some other values you want to store in serialized field) end
Looks interesting!
Din pacate primesc eroare
undefined method `serialized’ for #
…si cand schimb la serialize:
undefined method `attr_accessible’ for #
E cumva din cauza ca l’ati testat pe Rails 3 si nu 4?
Codul de mai sus este testat cu Rails 3. Nu am incercat inca Rails 4.