我有一個簡單的Sinatra應用程序,我想在所有會話和請求中共享一個變量。Sinatra全球應用變量
configure do
@@click_count = 0
end
def send_message(text)
# ignore, this part works
end
post '/click' do
@@click_count = @@click_count + 1
send_message "clicks: #{@@click_count}"
end
發送的消息總是clicks: 1
代替遞增。我也試過set :click_count, 0
然後settings.click_count = settings.click_count + 1
但我仍然得到同樣的東西。
我在本地用霰彈槍使用shotgun web.rb -p 4567 -E production
運行服務器,因爲在非生產環境中提到的另一個問題是服務器在每次失去狀態的請求上重新啓動。
任何想法如何讓這個工作?
是的,我知道這是一個壞主意。這是一個學習練習,而不是生產應用程序。 –