Как использовать значения datetime и сохранять и извлекать их с помощью HStore?Rails Hstore dateTime saving
Я использую это:
module HstoreAccessor
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def hstore_accessor(hstore_attribute, *keys)
Array(keys).flatten.each do |key|
define_method("#{key}=") do |value|
send("#{hstore_attribute}=", (send(hstore_attribute) || {}).merge(key.to_s => value))
send("#{hstore_attribute}_will_change!")
end
define_method(key) do
send(hstore_attribute) && send(hstore_attribute)[key.to_s]
end
end
end
end
end
ActiveRecord::Base.send(:include, HstoreAccessor)
определить аксессоров и он прекрасно работает для всего, кроме дат. Я получаю некоторые странные вещи в своих тестовых случаях, когда я сравниваю дату с сохраненной и извлеченной моделью с датой модели, которая еще не сохранена. В принципе дата перед сохранением - это класс «Время», а затем - строка.
Я понимаю, что hstore хранит все как строки, но мне трудно понять, как он сериализует дату, поэтому я могу изменить ее так же, как и в getter/seters для поля.
Любая помощь приветствуется. Благодарю.
Я попробовал это, но это также дает мне проблемы. Я поступил так, что я сохранил все временные метки как строки iso8601 и добавил валидатор, чтобы передать этот формат. Мое приложение в основном действует как json API, потому что я использую javascript на стороне клиента для пользовательского интерфейса, поэтому он будет делать все отлично. Мне, вероятно, понадобится внести коррективы, когда я буду делать запросы по дате в моей базе данных – DArkO