2

simple_form_for gem を使用して次の HTML を作成する最良の方法は何ですか?

<label>
   <input name="form-field-radio" type="radio" />
   **<span class="lbl"> radio option 2</span>**
</label>

デフォルトでは、次のステートメントを使用してラジオ ボタンを作成すると、上記は作成されないことに注意してください。そのタグを追加するにはどうすればよいですか?

<%= f.input :state, :collection => Project::STATES, :as => :radio_buttons %>
4

1 に答える 1

1

<span>同様の必要性がありました(内に a を埋め込む必要があります<label>)。これは最もクリーンなソリューションではありませんが、うまくいきました。微調整すれば、入力とスパンをラベル内に埋め込むことができるようになると思います。次の変更により、次のようになります。

<label>Name: 
  <span class="hint">this is a hint...</span>
</label>

label_text メソッドをオーバーライドするために、(rails 4 と simple_form 3 を使用して) 初期化子として以下を追加しました。

# initializers/simple_form_custom.rb
module SimpleForm
  module Components
    module Labels

      def label_text
        if hint
          hint_text = %[<span class="hint">#{hint}</span>]
        else
          hint_text = ""
        end
        SimpleForm.label_text.call(raw_label_text, required_label_text, hint_text).strip.html_safe
      end

    end
  end
end

それからinitializers/simple_form.rb私は持っています:

config.label_text = lambda { |label, required, hint| "#{label}: #{required} #{hint}" }
于 2013-10-30T02:54:19.117 に答える