I am getting can't dump anonymous class error.
I have the following methods in my model.
def seating_for(active)
ln = cache(col("lu", active)) do
self.seat_list_for(active).where(seat_id: self.seat_entries)
end
def seat_list_for(active)
ex_id = Exc.id_by_symbol(active)
self.row.exe.seats.where(ex_id: exc_id).first.seat_alloc_mem
end
I am trying to cache ln. I am getting an error. Can't figure out what is the problem.
can't dump anonymous class #<Module:0x00000007ab6088>
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/activesupport-3.2.14/lib/active_support/cache.rb:561:in `dump'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/activesupport-3.2.14/lib/active_support/cache.rb:561:in `initialize'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/redis-activesupport-3.2.4/lib/active_support/cache/redis_store.rb:34:in `new'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/redis-activesupport-3.2.4/lib/active_support/cache/redis_store.rb:34:in `block in write'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/activesupport-3.2.14/lib/active_support/cache.rb:520:in `instrument'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/redis-activesupport-3.2.4/lib/active_support/cache/redis_store.rb:33:in `write'
/home/#/.rvm/gems/ruby-2.0.0-p0@anon-ui/gems/activesupport-3.2.14/lib/active_support/cache.rb:299:in `fetch'
/home/#/user/projects/app/#/lib/lib_utility.rb:15:in `cache'
/home/#/user/projects/app/#/app/models/smthng.rb:566:in `seating_for'
lib/lib_utility.rb
module LibUtility
module ClassMethods
def col(p, l)
//smthng
end
def cache(l, options={}, &b)
Rails.cache.fetch(l, expires_in: 50.minutes, &b)
end
end
def self.included(receiver)
receiver.extend ClassMethods
end
end
Needs guidance??
The problem is that you try to cache an ActiveRecord
relation collection. That is not possible. If you want to cache the query, you need to make it an array first
def seating_for(active)
cache(col("lu", active)) do
self.seat_list_for(active).where(seat_id: self.seat_entries).to_a
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With