after_commit :expire_value_cache, on: [:create, :update]
after_commit :clear_value_cache, on: :destroy
scope :by_search, -> (keyword){ where("name LIKE :keyword OR value LIKE :keyword", keyword: "%#{strip_param(keyword)}%") unless strip_param(keyword).blank? }
@@ -25,7 +26,11 @@ class EduSetting < ApplicationRecord
end
def self.get(key)
Rails.cache.fetch(value_cache_key(key), expires_in: 1.days) do
begin
Rails.cache.fetch(value_cache_key(key), expires_in: 1.days) do
find_by_name(key.to_s)&.value
end
rescue Exception => e
find_by_name(key.to_s)&.value
end
end
@@ -41,4 +46,8 @@ class EduSetting < ApplicationRecord