html - 如何将选定的按钮存储在参数中?

标签 html css ruby sinatra

我是编程新手,我正在编写一个简单的石头剪刀布游戏。有 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/

相关文章:

javascript - ReactJS 中的内联样式

javascript - 如何防止拖动元素时页面滚动?

ruby-on-rails - Rails 5.0.0 jsonapi-parser 在任何来源中都找不到

asp.net - 火狐。如何使边框颜色与文本颜色不同?

ruby-on-rails - rails : find all parents with all children having a particular attribute

ruby - 如何更优雅地删除 Ruby 数组所有元素中的重复项?

javascript - 3 不同的 Main-Div,当点击另一个 main-div 时将显示在 main-div 内并关闭 main div

html - 便宜/免费的 "Look and Feel"Web 应用程序框架

Javascript 允许在文本区域中使用特殊字符(Electron App)

html - 如何更改 Bootstrap 警告类表行的颜色