3

このようにdivの入力を囲むtwitterブートストラップのカスタムテーマを使用しています:

    = simple_form_for(@user_session) do |f|
      .control-group
        = f.label :username, 'Usuario', class: 'control-label'
        .controls
          = f.input_field :username

大きなフォームでコーディングを保存するためにf.inputのみを使用したいのですが、rails generate simple_form:installを実行して、構成を変更できるようにしました。現在、次のようになっています。

    = simple_form_for(@user_session) do |f|
      = f.input :username, :label => 'Usuario'

そして、それは私が必要とするほとんどすべてのマークアップを生成します(initializers / simple_formにそれぞれのクラスを追加します):

<form action="/user_sessions" class="form-horizontal new_user_session" method="post">
      ...
      <div class="control-group username">
          <label class="username control-label" for="user_session_username">Usuario</label>
          <input class="username" id="user_session_username" name="user_session[username]" size="50" type="text" />
      </div>
      ...
</form>

必要なのは、入力タグを囲むクラス「controls」を含む追加の「div」だけですが、ラベルは必要ありません。これを実現する方法はありますか?

ありがとう!

4

1 に答える 1

8

最後にそれを行う方法を見つけました。このようにラッパーを構成すると、ブートストラップに必要なdivが追加されます。

イニシャライザー/simple_form

config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
  b.use :html5
  b.use :placeholder
  b.use :label
  b.wrapper :tag => 'div', :class => 'controls' do |ba|
    ba.use :input
    ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
    ba.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
  end
end

config.default_wrapper = :bootstrap

ここで答えを見つけました:http: //blog.jamesalmond.com/using-simple-form-in-an-engine/

それが誰かを助けることを願っています!じゃあ。

于 2012-09-25T20:15:08.880 に答える