7

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

  • 删除2不知道它们来自哪里(在生产中似乎很奇怪的 i18n 错误,它会抛出一大堆 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
4

3 回答 3

10

要删除 2s 并在其中正确使用文本标签:

= 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 } }

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

于 2012-07-03T02:00:01.667 回答
8

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

  • 导轨 3.1.3
  • 简单形式 2.0.2
  • 哈姆 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
于 2012-07-13T22:38:54.567 回答
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
于 2012-07-14T01:45:15.140 回答