作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想获取复选框值,以便将 http 请求的参数设置为 restful API。我是网络开发的新手,我在 ruby on rails 5.1 上遇到了麻烦
基本上,我有两种看法: - 您可以在其中选中/取消选中两个复选框,然后按下一个按钮进行一些 API 调用并将您发送到第二个 View 。 - 第二个仅用于显示 API 信息。
在第一个 View 中,我成功地执行了“进行”API 调用的按钮,并且在第二个 View 中正确显示了 API 信息。我现在无法使用两个复选框向请求添加参数。我的复选框总是在 params[] 中返回“nil”。
我引用了 Rails 文档的这一部分:https://guides.rubyonrails.org/form_helpers.html#helpers-for-generating-form-elements以及其他几个 stackoverflow 问题而不理解我错过了什么。
Controller 代码如下:
class IndexController < ApplicationController
include HTTParty
def button_state
end
def display_state
require 'open-uri'
require 'json'
# this part is for checking my checkbox values, they are always nil
@t1 = params[:param_name1]
@t2 = params[:param_name2]
@url_test = 'www.bkbahbqiv.com/tamere?test1=' << @t1.to_s << '&test2=' << @t2.to_s
# other part related to the API calls
...
end
end
这是我的 View 代码:
<h1>Check/Uncheck the boxes and click on the button to get results</h1>
<div class="checkbox">
<td>
<%= label_tag(:param_name1, "test1") %>
<%= check_box_tag(:param_name1) %>
</td>
</div>
<div class="checkbox">
<td>
<%= label_tag(:param_name2, "test2") %>
<%= check_box_tag(:param_name2) %>
</td>
</div>
<%= button_to "go to display_state", display_state_path, :method => :get %>
我只想补充一点,我不想将复选框值存储在数据库中。
预先感谢任何帮助我的人:)
最佳答案
以下建议绝对适合您。请在下面更改您的观点您需要使用它来为您的问题解决方案形成标签
<%= form_tag display_state_path, :method => 'get' do %>
<div class="checkbox">
<td>
<%= label_tag(:param_name1, "test1") %>
<%= check_box 'param_name1', 'result', {}, 1, 0 %>
</td>
</div>
<div class="checkbox">
<td>
<%= label_tag(:param_name2, "test2") %>
<%= check_box 'param_name2', 'result', {}, 1, 0 %>
</td>
</div>
<%= submit_tag "go to display_state" %>
<% end %>
并且您可以访问参数中的复选框值
params[:param_name1][:result]
params[:param_name2][:result]
关于ruby-on-rails - 如何在 ruby on rails 中获取复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53556475/
我是一名优秀的程序员,十分优秀!