Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在heroku上使用sinatra应用程序重定向_Ruby_Heroku_Sinatra - Fatal编程技术网

Ruby 在heroku上使用sinatra应用程序重定向

Ruby 在heroku上使用sinatra应用程序重定向,ruby,heroku,sinatra,Ruby,Heroku,Sinatra,我有一个为我正在学习的课程制作的TictaToe游戏,我的应用程序部署到heroku。它在我的本地主机上运行良好,但当我在线播放时,它不喜欢我使用的重定向。重定向到('/status'),这是我让它检查是否有胜利或平局,如果没有,则让ai或第二玩家选择一个方块。我该如何着手解决这个问题,或者如果有人能给我指出一个链接,那会很酷。我找了一会儿,似乎找不到 post '/game' do choice = params[:choice].to_i player_marker = players.cu

我有一个为我正在学习的课程制作的TictaToe游戏,我的应用程序部署到heroku。它在我的本地主机上运行良好,但当我在线播放时,它不喜欢我使用的重定向。重定向到('/status'),这是我让它检查是否有胜利或平局,如果没有,则让ai或第二玩家选择一个方块。我该如何着手解决这个问题,或者如果有人能给我指出一个链接,那会很酷。我找了一会儿,似乎找不到

post '/game' do
choice = params[:choice].to_i
player_marker = players.current_player()

 if play_board.square_available?(choice - 1) == true
     play_board.board[choice - 1] = player_marker
     redirect to('/status')
 else
     erb :squares, :locals => {:p1 => players.player1, 
                              :p2 => players.player2, 
                              :invaild => "Hey #{players.current} #{choice} is already taken", 
                              :message2 => "Please choose again.", 
                              :current => players.current, 
                              :board => play_board.board, 
                              :type => players.type}
   end  
end

  2015-12-21T03:06:29.194376+00:00 app[web.1]: https://mmtictactoe.herokuapp.com /squares -> /style.css
  2015-12-21T03:06:32.382665+00:00 heroku[router]: at=info method=POST  path="/game" host=mmtictactoe.herokuapp.com request
 _id=b6b0abdb-783d-4111-99e4-244c1730179a fwd="75.89.86.120" dyno=web.1   connect=1ms service=18ms status=500 bytes=231
  2015-12-21T03:06:32.361241+00:00 app[web.1]: NoMethodError - undefined method `to' for #<Sinatra::Application:0x007f05bd
 0dae20>:
post'/game'do
choice=params[:choice].to_i
player\u marker=players.current\u player()
如果play_board.square_可用?(选项-1)=真
play_board.board[选项-1]=玩家标记
重定向到(“/status”)
其他的
erb:squares,:locals=>{:p1=>players.player1,
:p2=>players.player2,
:invaild=>“嘿#{players.current}{choice}已经被占用”,
:message2=>“请重新选择。”,
:current=>players.current,
:board=>play_board.board,
:type=>players.type}
结束
结束
2015-12-21T03:06:29.194376+00:00应用程序[网站1]:https://mmtictactoe.herokuapp.com /正方形->/style.css
2015-12-21T03:06:32.382665+00:00 heroku[路由器]:at=info method=POST path=“/game”host=mmtictactoe.herokuapp.com请求
_id=b6b0abdb-783d-4111-99e4-244c1730179a fwd=“75.89.86.120”dyno=web.1连接=1ms服务=18ms状态=500字节=231
2015-12-21T03:06:32.361241+00:00应用程序[web.1]:命名错误-未定义的方法“to”表示#:

重定向到
于2011年在Sinatra 1.2中引入。如果您没有这个,那么您必须在Heroku服务器上运行非常旧版本的Sinatra

请选择一个,并确保您的GEM文件已指定Sinatra 1.4.x(最新版本,在回答此问题时):

gem 'sinatra', '~>1.4.0'                                                          

重定向到
于2011年在Sinatra 1.2中引入。如果您没有这个,那么您必须在Heroku服务器上运行非常旧版本的Sinatra

请选择一个,并确保您的GEM文件已指定Sinatra 1.4.x(最新版本,在回答此问题时):

gem 'sinatra', '~>1.4.0'                                                          

它不喜欢重定向
-你的意思是什么?@WandMaker当它在代码中找到重定向到我的状态页面的时间点时。它给我一个内部服务器错误。查看日志,它给了我一个未定义的错误方法,我在本地运行它时没有得到它在本地播放它时工作得很好这是日志片段->/style.css r]:at=info method=POST path=“/game”host=mmtictactoe.he“75.89.86.120”dyno=web.1 connect=1ms service=18ms statu NoMethodError-未定义的方法“to”for#而且我还没有学会测试我的代码的前端,只是做了后端测试,所以我不能只是对它进行测试……最好将日志片段添加到您的问题中,这样人们就会知道您所面临的问题是什么,
它不喜欢当WandMaker在代码中找到重定向到我的状态页面的时间点时,重定向将
-你的意思是什么?@WandMaker。它给我一个内部服务器错误。查看日志,它给了我一个未定义的错误方法,我在本地运行它时没有得到它在本地播放它时工作得很好这是日志片段->/style.css r]:at=info method=POST path=“/game”host=mmtictactoe.he“75.89.86.120”dyno=web.1 connect=1ms service=18ms statu NoMethodError-未定义的方法“to”for#而且我还没有学会测试我的代码前端,只是做了后端测试,所以我不能只测试它…..最好在你的问题中添加日志片段,这样人们就会知道你面临的问题是什么?谢谢。。。。刚刚学习了如何部署到heroku,我们使用的示例gemfile一定很旧,因为它是1.1.0,将其更改为最新版本,并且是presto!!!非常感谢。对gem文件和proc文件还是新手谢谢你。。。。刚刚学习了如何部署到heroku,我们使用的示例gemfile一定很旧,因为它是1.1.0,将其更改为最新版本,并且是presto!!!非常感谢。对gem文件和proc文件仍然是新的