【问题标题】:how to check check_box_tag is checked or not in rails如何检查 check_box_tag 在 Rails 中是否被检查
【发布时间】:2016-06-23 20:13:55
【问题描述】:

如何检查 check_box_tag 在 Rails 中是否被检查?

我需要知道选中了哪些复选框。

这个系统是给用户根据选项选择生成报告的。

查看:

<%= form_tag finish_reports_path do %>
    <div class="row top30 reload">
        <div class="col-sm-12 col-xs-12">
            <div class="form-inline">
                <%= check_box_tag("name", "1", false, class: "checkbox") %>
                <%= label_tag :name, "Nome do Conteúdo" %>
            </div>
            <div class="form-inline">
                <%= check_box_tag(:url, "2", false, class: "checkbox") %>
                <%= label_tag :url, "URL do Conteúdo" %>
            </div>
            <%= link_to t("button.generate"), finish_reports_path(finish: "yes"), :class => "btn btn-success" %>
        </div>
    </div>
<% end %>

控制器:

   def index
    end

    def finish
        redirect_to root_path
    end

路线:

root "reports#index"
post "/" => "reports#read_combo", as: :read_reports_combo

get "/reports/generate/:type" => "generate#index", as: :reports_generate
get "/reports/generate" => "generate#finish", as: :finish_reports

【问题讨论】:

  • 通读guides.rubyonrails.org/form_helpers.html,了解如何使用 Rails 表单助手并从您的完成方法访问 params 哈希
  • @Bryce 我读了这篇文章,但不明白如何使用:(请帮帮我

标签: html ruby-on-rails ruby-on-rails-4 checkbox


【解决方案1】:

如果未选中复选框,则不传递任何参数,这意味着该值为 false。如果复选框被选中,参数将显示在控制器中。如果要将虚假值传递给参数,请创建一个隐藏字段,并将 hidden_input 值设置为 false。 我相信这是重复的。 Rails checkbox and params

【讨论】:

  • 但是如果我在得到检查或未检查值时只输入一个 hidden_​​input 呢?以及我如何获得这个值?
  • 我看其他帖子,不明白
  • 您将 hidden_​​input 的值设置为 false,类似于:
  • &lt;div class="form-inline"&gt; &lt;%= check_box_tag("name", "1", false, class: "checkbox") %&gt; &lt;%= hidden_field_tag("name", false) %&gt; &lt;%= label_tag :name, "Nome do Conteúdo" %&gt; &lt;/div&gt;
  • 我在两个不同名称的复选框中添加了“hidden_​​field_tag”。选中一个复选框并按下 submit_tag 后,两个标签的参数返回 false。请帮帮我
【解决方案2】:

我在 View 中使用此代码:

                <div class="form-inline">
                    <%= check_box_tag("name[]", "i18n.name", false, class: "checkbox") %>
                    <%= label_tag :name, "Nome do Conteúdo" %>
                </div>
                <div class="form-inline">
                    <%= check_box_tag("name[]", "url.url", false, class: "checkbox") %>
                    <%= label_tag :url, "URL do Conteúdo" %>
                </div>

这在控制器中:

@properties = params["name"]

并解决了=D!!

【讨论】:

    猜你喜欢
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2014-04-15
    • 2012-08-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多