【发布时间】:2015-10-28 01:32:46
【问题描述】:
我正在使用 simple_form 在我的 Rails 项目中创建一个表单。
<%= simple_form_for resource, :as => resource_name, :url => invitation_path(resource_name), :html => {:method => :post, id: 'invitations-form', class: 'invitations-form'} do |f| %>
<%= f.input :first_name, label: false, placeholder: "Family Member's First Name", input_html: { maxlength: 15, size: 40, value: nil } %>
<%= f.input :last_name, label: false, placeholder: "Family Member's Last", input_html: { maxlength: 15, size: 40, value: nil } %>
<%= f.input :email, label: false, placeholder: "Enter Email Address", input_html: { value: nil } %>
<div class="radio_buttons">
<%= f.label "#{:gender}:"%>
<%= f.collection_radio_buttons :gender, [["male", "male"] ,["female", "female"]], :first, :last %>
</div>
<%= f.input :invitation_relation, label: false, prompt: "I am this person's:", collection: relation_types, label_method: :humanize, input_html: { class: "browser-default dropmodule__input-select" } %>
<%= submit_tag "Send Invitation" %>
<% end %>
我使用了 collection_radio_buttons 方法来创建单选按钮的集合。我不确定这是否相关,但我使用此方法而不是 f.input :foo, as: :radio_buttons 的原因是输入法没有为我生成标签标签,我想我现在可以使用 @987654323 生成标签@。我不确定这是否是一个可行的替代方案,但由于我花在它上面的时间,这个错误对我来说很麻烦。
这是上面相关 div 的 html 生成输出:
<div class="radio_buttons">
<label class="string optional control-label" for="user_gender:">Gender:</label>
<span>
<input checked="checked" id="user_gender_male" name="user[gender]" type="radio" value="male">
<label class="collection_radio_buttons" for="user_gender_male">male</label>
</span>
<span>
<input id="user_gender_female" name="user[gender]" type="radio" value="female">
<label class="collection_radio_buttons" for="user_gender_female">female</label>
</span>
</div>
我需要每个radio_button的输入标签包含一个“with-gap”类,像这样:
<input checked="checked" id="user_gender_male" class="with-gap" name="user[gender]" type="radio" value="male">
和
<input id="user_gender_female" class="with-gap" name="user[gender]" type="radio" value="female">
但我没有成功。虽然我真的想通过将类放在 collection_radio_buttons 方法的标签中来解决问题,但如果 simple_form 中有替代方法,请将此作为解决方案。
【问题讨论】:
-
你试过
label_html: { class: 'with-gap' }吗? -
是的,实际上我的描述有误。我需要在输入标签中显示该类,但我尝试了
input_html { class: "with-gap" },但它忽略了我。`
标签: ruby-on-rails ruby-on-rails-4 simple-form