我有一个使用复选框和文本区域的表单。当我提交表单时,它会提交复选框(1或0)的值,而不是文本区域中的数据。以下是我的表格。
<%= form_for(:add_kids) do |kid|%>
<div class="kidsname">
<%= kid.text_field :first_name, placeholder: "First", class: "name" %>
<%= kid.text_field :last_name, placeholder: "Last", class: "name" %>
</div>
<br>
<div class="allergens">
<h4>Allergens/Asthma:</h4>
<div class="allergens-list">
<ul>
<li>
<%= kid.check_box :soy %>
<%= kid.label :soy %>
<%= kid.check_box :peanuts %>
<%= kid.label :peanuts %>
<%= kid.check_box :wheat %>
<%= kid.label :wheat %>
</li>
<li>
<%= kid.check_box :milk %>
<%= kid.label :milk %>
<%= kid.check_box :nuts %>
<%= kid.label :nuts, "Tree Nuts" %>
<%= kid.check_box :eggs %>
<%= kid.label :eggs %>
</li>
<li class="otherNeeds">
<%= kid.check_box :other, {class: "other"} %>
<%= kid.label :other, "Other Needs" %>
<div class="concernsContainer">
<h3>Please type your kid's needs or concerns</h3>
<div class="concernsBox">
<%= kid.text_area :other, placeholder: "Type here...", maxlength: 500, disabled: 'disabled' %>
</div>
</div>
</li>
</ul>
</div>
</div>
<% end %>
答案 0 :(得分:1)
您同时拥有与同一属性相关的check_box和textarea - :other
这些属性会根据控件的属性name
传递给rails app,因此如果您检查textarea的名称和复选框的名称,您会发现它们是相同的。
我假设你想要获得这两个属性,所以你需要在那里指定不同的名称。无论如何,有关您希望在params
中获得什么内容的更多详细信息将非常有用
答案 1 :(得分:0)
您是否尝试过form_for api语法?
<%= form_for :person do |f| %>
First name: <%= f.text_field :first_name %><br />
Last name : <%= f.text_field :last_name %><br />
Biography : <%= f.text_area :biography %><br />
Admin? : <%= f.check_box :admin %><br />
<%= f.submit %>
<% end %>