文件名称:request_store:机架的按请求的全局存储
文件大小:8KB
文件格式:ZIP
更新时间:2024-05-25 06:48:05
Ruby
请求存储 是否曾经需要在Rails中使用全局变量? gh,那是最糟糕的。 如果需要全局状态,则可能已经达到Thread.current 。 像这样: def self . foo Thread . current [ :foo ] ||= 0 end def self . foo = ( value ) Thread . current [ :foo ] = value end 啊! 我恨它。 但是你要做你该做的... 问题 如今,每个人都在担心并发性。 因此,人们正在使用诸如Thin或Puma之类的高档线程Web服务器。 但是,如果您使用Thread.current ,并且使用这些服务器之一,请Thread.current ! 值的保留时间可能比您预期的长,这可能会导致错误。 例如,如果我们在控制器中包含以下内容: def index Thread . current
【文件预览】:
request_store-master
----.gitignore(154B)
----request_store.gemspec(983B)
----.travis.yml(243B)
----LICENSE.txt(1KB)
----README.md(4KB)
----lib()
--------request_store.rb(985B)
--------request_store()
----Gemfile(98B)
----Rakefile(233B)
----test()
--------middleware_test.rb(1KB)
--------request_store_test.rb(2KB)
--------test_helper.rb(296B)