我是编程新手,我正在编写一个简单的石头剪刀布游戏。有 3 个带有图片的按钮,取决于玩家点击哪个按钮,下一页应该显示该图片。换句话说,如果玩家点击“摇滚”按钮,那么它应该显示在下一页。 问题是我无法弄清楚如何存储选定的按钮,以便它可以显示在“/results”路径中。
(play.erb)
<div class="pbox-1">
<form action=/choice method="post">
<input type="image" src="images/rock.jpg" name="rock" />
</form>
</div>
<div class="pbox-2">
<form action=/choice method="post">
<input type="image" src="images/paper.jpg" name="paper" />
</form>
</div>
<div class="pbox-3">
<form action=/choice method="post">
<input type="image" src="images/scissors.jpg" name="scissors" />
</form>
</div>
(controller)
require 'sinatra/base'
require './lib/game'
require './lib/player'
class Rps < Sinatra::Base
enable :sessions
get '/play' do
erb :play
end
post '/choice' do
redirect '/results'
end
get '/results' do
erb :results
end
run! if app_file == $0
end
(Player class)
require_relative 'game'
class Player
attr_reader :name, :choice
def initialize(name)
@name = name
@choice = nil
end
def make_choice(player_choice)
@choice = player_choice
end
end
(Game class)
require_relative 'player'
class Game
attr_reader :players
def initialize(player_1)
@players = player_1
end
def player_1
@players
end
def player_1_choice
player_1.choice
end
end
最佳答案
您可以在每个表单中放置一个隐藏字段,例如:
<input type="hidden" name="choice" value="rock" />
然后在您的 post '/choice'
函数中,您可以使用 params[:choice]
访问它。
关于html - 如何将选定的按钮存储在参数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170876/