【问题标题】:Hiding Checkbox & Assigning Value - Ruby on Rails - Easy Question隐藏复选框和赋值 - Ruby on Rails - 简单问题
【发布时间】:2009-11-19 20:35:05
【问题描述】:

我正在尝试隐藏一个复选框并指定一个默认值 1,以便仅显示提交按钮。这是我的表格。只是想知道正确的格式,因为我是 Rails 新手。我认为您可以使用助手来执行此操作,但想知道我是否可以将其包含在表单中。这是表格:

<% remote_form_for [@post, Vote.new] do |f| %>
    <p>
        <%= f.label :vote %>
        <%= f.check_box :vote %>
    </p>
    <%= f.submit "Vote" %>

【问题讨论】:

  • 我不明白你的问题。如果它不会显示并且永远是 1,为什么你想要一个复选框?
  • 因此,当用户单击提交按钮“投票”时,您希望参数哈希包含 {:vote => '1'},但不显示复选框。是对的吗?或者您只是想知道他们点击了提交按钮?
  • 你可以说我是新人。我试图让他们投票。所以提交按钮会说“喜欢”,当他们点击它时,会将“1”传送到表格中。然后我在退货上显示计数。这有意义吗?

标签: ruby-on-rails ruby forms


【解决方案1】:

您当然可以这样做,但如果您只想设置参数而不显示字段,那么您可能想要的是隐藏字段:

<%= f.hidden_field :vote, :value => '1' %>

如果你真的想要一个隐藏的复选框(也许以后你可以选择使用 javascript 显示它?),你可以这样做:

<%= f.check_box :vote, :checked => true, :style => 'visibility: hidden' %>

【讨论】:

    【解决方案2】:

    您可以使用 CSS 来隐藏复选框:

    <%= f.check_box_tag :vote, 1, true, :style => "display: none;" %>
    

    但如果你只是想传递一个值,你可以使用隐藏字段:

    <%= f.hidden_field_tag, :vote, 1 %>
    

    【讨论】:

      【解决方案3】:

      如果您只想传递值,请使用隐藏字段

      <% remote_form_for [@post, Vote.new] do |f| %>
        <%= f.hidden_field_tag 'vote', '1' %>
        <%= f.submit "Vote" %>
      <% end %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        • 2017-08-03
        相关资源
        最近更新 更多