From f48ce2f4c934fde3862cdad593eececc7a567d61 Mon Sep 17 00:00:00 2001 From: hellekin Date: Fri, 9 Oct 2020 10:24:06 +0200 Subject: Add Classifications and Resource validations - Turn `has_and_belongs_to_many` into `has_many :through`: now, resources and sections are related through Classifications. - Refactor usage of jsonb column to use ActiveRecord validations - Attention! store_accessor: NOTE: If you are using structured database data types (eg. PostgreSQL hstore/json, or MySQL 5.7+ json) there is no need for the serialization provided by .store. Simply use .store_accessor instead to generate the accessor methods. Be aware that these columns use a string keyed hash and do not allow access using a symbol. NOTE: The default validations with the exception of uniqueness will work. For example, if you want to check for uniqueness with hstore you will need to use a custom validation to handle it. https://api.rubyonrails.org/classes/ActiveRecord/Store.html --- app/serializers/hash_serializer.rb | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 app/serializers/hash_serializer.rb (limited to 'app/serializers') diff --git a/app/serializers/hash_serializer.rb b/app/serializers/hash_serializer.rb new file mode 100644 index 0000000..5db639f --- /dev/null +++ b/app/serializers/hash_serializer.rb @@ -0,0 +1,9 @@ +class HashSerializer + def self.dump(hash) + hash.to_json + end + + def self.load(hash) + (hash || {}).with_indifferent_access + end +end -- cgit v1.2.3