simple_form使用twitter引导程序使用<image>(X)标签呈现单选按钮组?

Rub*_*tic 7 radio-button ruby-on-rails-3 simple-form twitter-bootstrap

我试着用一段时间来使用simple_form来创建下面的例子但是+标签并修复了一些样式.任何人都知道如何解决:

  • 删除2的不知道它们来自哪里(似乎很奇怪i18n生产中的bug它会抛出一大堆I18n)
  • 在单选按钮后面有文字男性或女性

标签输出

结果来自以下代码:

     .clear
    = f.label "Gender"
    = f.collection_radio_buttons(:gender, [['Male', 'icon_male'], ['Female', 'icon_female']],
                                 :first, :last,
                                 :item_wrapper_class => 'horizontal',
                                 ) do |gender|
      = gender.label { image_tag("/assets/icons/16x16/#{gender.text}.png") + gender.radio_button  }

    .clear
    .ruler
Run Code Online (Sandbox Code Playgroud)

23i*_*use 10

要删除2并在右侧使用文本标签,请使用:

= f.label "Gender"
= f.collection_radio_buttons(:gender, [['Male', 'icon_male'], ['Female', 'icon_female']],
                             :first, :last,
                             :item_wrapper_class => 'horizontal',
                             ) { |gender| gender.label { image_tag("/assets/icons/16x16/#{gender.text}.png") + gender.radio_button + gender.text } }
Run Code Online (Sandbox Code Playgroud)

删除=之前gender.label将删除2s.


eng*_*ave 8

Rubytastic你的答案中有一个额外的逗号.这是@ 23inhouse建议的正确代码.它对我有用

  • 铁轨3.1.3
  • 简单形式2.0.2
  • haml 3.1.4
  • haml-rails 0.3.4

    = simple_form_for @object_new do |f|
      .clear
      = f.label "Gender"
      - f.collection_radio_buttons(:gender, [['Male', 'icon_male'], ['Female', 'icon_female']], :first, :last, :item_wrapper_class => 'horizontal') do |gender|
        = gender.label { image_tag("rails.png") + gender.radio_button  }
      .clear
      .ruler
Run Code Online (Sandbox Code Playgroud)


Rub*_*tic 3

最终工作片段:

= f.label "Gender"
- f.collection_radio_buttons(:gender, [['Male', 'icon_male'], ['Female', 'icon_female']], :first, :last, :item_wrapper_class => 'horizontal') do |gender|
  = gender.label { image_tag("/assets/icons/16x16/#{gender.text}.png") + gender.radio_button  }
.clear
.ruler
Run Code Online (Sandbox Code Playgroud)