所以我试图在路由之间通过cookie传递一些字符串,但是它们不断被重置并且它们不会被传递。这是我的代码:
post '/start_game' do
@game = TicTacToe::Game.new
cookies[:board] = @game.board.slots
redirect '/game'
end
post '/game' do
@slots = cookies[:board]
end
我也尝试过request.cookies [:board],甚至使用引号而不是使用符号。
答案 0 :(得分:0)
我认为这是因为您在一条路径上设置cookie并在另一条路径上读取它。从Cookie的角度来看,/start_game
被视为您网站的另一部分/game
。您可以通过将Cookie设置为/
级别来解决此问题:
response.set_cookie(:board, { :path => '/' })
您不需要更改回读的方式(因为任何其他路径都是/
的子路径。)