【问题标题】:How to get a value from check box in ruby on rails?如何从 ruby​​ on rails 的复选框中获取值?
【发布时间】:2015-05-18 09:12:11
【问题描述】:

我得到布尔值输出。

    **_form.html.erb**


    <%= form_for(@user, :html => {:multipart => true}) do |f| %>
  <% if @user.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>

      <ul>
      <% @user.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :email %><br />
    <%= f.text_field :email %>
  </div>
  <div class="field">
    <%= f.label :price %><br />
    <%= f.text_field :price %>
  </div>
  <div class="field">
  Gender:<br>  <%= f.radio_button(:gender, "Male")%>
    <%= f.label(:gender_option1, "Male") %><br />
     <%= f.radio_button(:gender, "Female")%>
    <%= f.label(:gender_option2, "Female") %>
   </div>
  <div class="field">
    Payment:<br>
    <%= f.check_box(:paymentmode )%>
    <%= f.label :Debitcard %>
    <%= f.check_box :paymentmode %>
    <%= f.label :Creditcard %>
    <%= f.check_box :paymentmode %>
    <%= f.label :cashondelivery %>

   <br />


  </div>
  <div class="field">
    <%= f.label :image %><br />
    <%= f.file_field :image %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

    **Index.html.erb**

        <tr>
        <td><%= user.name %></td>
        <td><%= user.email %></td>
        <td><%= user.gender %></td>
        <td>$<%= user.price %></td>
        <td><%= user.paymentmode %></td>
        </tr>

我想获取复选框的值,即借记卡或信用卡或货到付款。我得到如下输出:

Name: xyz Email: xyz@gmail.com gender:Male price:$100 payment mode : 0

我需要字符串格式的付款方式,例如借记卡或信用卡或 cod。我要付款方式:Cashondelivery/credit/debit.

【问题讨论】:

  • 检查API Doc。你总是可以将 checked_value 传递给你想要的东西
  • 是的,我使用了 abhi,但它只显示布尔值 0 或 1。但我需要的付款方式是信用卡/借记卡/cashondeliver
  • 这可能会有所帮助:stackoverflow.com/questions/16573508/…
  • 我没有看到你在使用它。我可以看到您使用 f.check_box(:paymentmode ),但您必须按照文档中提到的或 @elsapet 指出的方式使用它
  • 我会说使用 collection_select 来代替 ????

标签: mysql ruby-on-rails ruby


【解决方案1】:

使用radio buttons,就像您用于男性或女性一样。它们是相互排斥的。 <%= f.radio_button(:paymentmode, "debit")%> <%= f.label(:debitcard, "Debit Card") %> <%= f.radio_button(:paymentmode, "credit")%> <%= f.label(:dreditcard, "Credit Card") %> <%= f.radio_button(:paymentmode, "Cash")%> <%= f.label(:cash, "Cash on delivery") %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多