Ruby on rails 如何将Rails.cache与哈希一起使用?

Ruby on rails 如何将Rails.cache与哈希一起使用?,ruby-on-rails,ruby,caching,jruby,Ruby On Rails,Ruby,Caching,Jruby,我正在尝试在控制器中缓存哈希 def departments_for_select Rails.cache.fetch("departments_for_select_#{session[:user_id]}", expires_in: 5.minutes) do Department.for_select(super_admin? ? nil : session[:user_id]) end end 但它不起作用 NoMethodError: undefined method

我正在尝试在控制器中缓存哈希

def departments_for_select
  Rails.cache.fetch("departments_for_select_#{session[:user_id]}", expires_in: 5.minutes) do
    Department.for_select(super_admin? ? nil : session[:user_id])
  end
end
但它不起作用

NoMethodError: undefined method `call' for nil:NilClass
Did you mean?  caller
from org/jruby/RubyMarshal.java:145:in `load'

为什么在一个地方使用
user\u id
而在另一个地方使用
session[:user\u id]
呢?@Ruslan刚刚修复了您是否尝试过:
Rails.cache.fetch(departments\u for\u select:session[:user\u id])
?不确定发生了什么,但它现在正在工作。谢谢为什么在一个地方使用
user\u id
,在另一个地方使用
session[:user\u id]
?@Ruslan刚刚修复了您是否尝试过:
Rails.cache.fetch(部门:session[:user\u id])
?不确定发生了什么,但它现在正在工作。谢谢