【发布时间】:2017-03-23 05:26:49
【问题描述】:
我在 Rails 4 应用程序中使用 Apartment work。
我遵循了这一步:
1)
#config/initializer/apartement.rb
require 'apartment/elevators/generic'
2)
#config/initializer/application.rb
config.middleware.use 'Apartment::Elevators::Generic', Proc.new {|request|
remember_token = request.cookies['remember_token']
if remember_token.blank?
nil
else
User.find_by(remember_token: remember_token).backoffice_company_id
end
}
这很好用,但效率不高,因为应用程序上的每个请求都会在数据库上完成一个请求。
如果 remember_token 与上一个请求相比没有变化(因为它是同一个用户),我怎样才能避免这种数据库访问?
我尝试将其存储在会话变量中,但当 2 个用户使用该应用程序时,它似乎是全局 à 这个级别 (application.rb)。
谢谢
布鲁诺
【问题讨论】:
-
只是好奇你有没有找到一种方法来提高效率?我正在尝试做这样的事情,我什至不能让它像你做的那样工作。谢谢。
-
不,我们没有找到更好的解决方案来避免这些请求。我们仍在寻找任何想法......
标签: ruby-on-rails multi-tenant