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

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

=前のgender.labelを削除すると、2 が削除されます。

于 2012-07-03T02:00:01.667 に答える
8

Rubytastic の回答に余分なコンマがあります。@23inhouse が提案していた正しいコードは次のとおりです。それは私のために働く

  • レール3.1.3
  • 簡易フォーム 2.0.2
  • ハムル 3.1.4
  • ハムレール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 に答える