2

所以这就是我想要得到的结果:

<div class="control-group">
  <label class="control-label" for="ListingType">Listing Type:</label>
  <div class="controls">
    <label class="inline"><input type="radio" name="ListingType"> For Sale</label>
    <label class="inline"><input type="radio" name="ListingType"> For Rent</label>
  </div>
</div>

我试过这个:

<%= f.association :listing_type, label: "Listing Type: ", as: :radio_buttons, input_html: { class: 'inline'} %>       

这是产生的:

<div class="control-group radio_buttons optional">
   <label class="radio_buttons optional control-label">Listing Type:</label>
   <div class="controls">
      <label class="radio"><input class="radio_buttons optional inline" id="listing_listing_type_id_1" name="listing[listing_type_id]" type="radio" value="1" />For Sale</label>
      <label class="radio"><input class="radio_buttons optional inline" id="listing_listing_type_id_2" name="listing[listing_type_id]" type="radio" value="2" />For Rent</label>
  </div>
</div>  

注意 与label.class="radio"相对label.class="inline"

这是我试图正确完成的主要事情。

我试过label_html: { class: 'inline' }了,它产生了这个:

<div class="control-group radio_buttons optional">
   <label class="radio_buttons optional control-label inline">Listing Type:</label>
   <div class="controls">
     <label class="radio"><input class="radio_buttons optional" id="listing_listing_type_id_1" name="listing[listing_type_id]" type="radio" value="1" />For Sale</label>
     <label class="radio"><input class="radio_buttons optional" id="listing_listing_type_id_2" name="listing[listing_type_id]" type="radio" value="2" />For Rent</label>
   </div>
</div>  

即它将类移动inline到最外层<label>,而不是label每个单选按钮。

想法?

4

2 回答 2

2

只需将@flynfish 的答案从如何更改 simple_form 中复选框的标签类别复制到此线程。似乎是根据@marcamillion 评论这里的一个。

您可以使用此选项为标签指定一个类:item_wrapper_class => 'class_goes_here'

这是一个完整的例子:

= user.input :resident, 
         :collection => [["In the U.S", true],["Outside the U.S.", false]], 
         :label_method => :first, 
         :value_method => :last,
         :as => :radio_buttons, 
         :label => "Where is your principle residence?",
         :item_wrapper_class => 'inline'
于 2013-02-28T00:42:15.907 回答
0

@moonfly 的答案对于当前版本不再适用simple_form(我已经尝试过 3.3.1 版)。

要更改每个单选按钮标签的类,您必须使用如下选项item_label_class

<%= f.association :listing_type, label: "Listing Type: ", as: :radio_buttons, item_label_class: 'inline' %>

或来自@moonfly 的回答:

= user.input :resident, 
     :collection => [["In the U.S", true],["Outside the U.S.", false]], 
     :label_method => :first, 
     :value_method => :last,
     :as => :radio_buttons, 
     :label => "Where is your principle residence?",
     :item_label_class => 'inline'

item_wrapper_class将为新版本的 simple_form 修改每个单选按钮跨度的类。

于 2017-04-04T01:55:18.000 回答