ActiveSupport::CurrentAttributes
内部的にはスレッドが使われている
リクエストごとのグローバルステート
リクエストごとに自動的にリセットされる
code:ruby
class Current < ActiveSupport::CurrentAttributes
attribute :blocking_ids
end
module HideBlockingUser
extend ActiveSupport::Concern
included do
before_action :set_current
end
private
def set_current
Current.blocking_ids = current_user&.blocking&.ids
end
end
参照