我经常搜索但找不到任何有用的东西,而且我已经没有想法来解决这个问题了。
我试图在Heroku上找出为什么会话变量无法正常工作。 它是一个RoR应用程序。
问题 会话[:something]中存储的内容不是 保持到下一个请求。
为了简化我的问题,我制作了一个方法,可以保存会话变量和 每次刷新页面都会计算一次。看起来像这样
def test
if !session[:x]
session[:x] = 0
end
session[:x] += 1
render plain: session[:x]
end
当我转到http://localhost:3000/api/test时,会显示该号码 每次刷新页面时都会计数。
当我部署到Heroku并转到something-app.herokuapp.com/api/test
时号码永远是一个。
显然会话变量不存储在会话之间。
我试过了
$heroku features:enable http-session-affinity
但它没有成功。
那么有什么方法可以阻止会话在Heroku上运行?
我也问过Heroku,但他们重播了#34;这个问题超出了Heroku支持政策的性质而且#34;
我为所有可能的想法感到高兴。
Rails 5.0.2 Ruby 2.4.0p0