4

Twitter Bootstrap のドキュメントで説明されているように、1 つのチェック ボックスに対して 2 つのラベルを取得しようとしています。( http://twitter.github.com/bootstrap/base-css.html#forms --> 水平フォーム --> チェックボックス (テキスト入力の下) を参照)

だから私が表示したいのは、左側の説明のラベル、チェックボックス自体、右側のすぐ隣のヒントです。

simple_form gem での Twitter ブートストラップの標準実装では<p>、ヒントを表示するためのタグが作成されます。これは、すべての種類の入力に対して一貫性を保つためです。

simple_form 初期化子で「ブートストラップ チェックボックス」のカスタム ラッパーを作成したいのですが、これを解決する方法がわかりません。

これは、ベアレール(erb)を使用して現在実装している方法です。

<div class="control-group">
 <%= f.label :recurring, :class => 'control-label' %>
 <div class="controls">
   <%= f.label :recurring, :class => 'checkbox' do %>
    <%= f.check_box :recurring %>
    <%= t('.recurring_hint') %>
   <% end %>
 </div>
</div>

私を助けてくれますか、少なくともこれらのカスタムラッパーがどのように機能するかを説明してもらえますか? ありがとうございました!

編集:より正確に質問させてください: simple_form のラッパー API を使用して、ラベルをラッパーとして使用できますか?

4

3 に答える 3

4

解決:

  1. simple_form の最新バージョン (2.0.2、以前は 2.0) への更新
  2. BooleanInput をオーバーライドします。

アプリ/入力/boolean_input.rb

class BooleanInput < SimpleForm::Inputs::BooleanInput
  def input
    if nested_boolean_style?
        template.label_tag(nil, :class => "checkbox") {
          build_check_box + inline_label
        }
    else
      build_check_box
    end
  end
end

_form.html.erb

呼び出しテンプレート:

<%= f.input :recurring, :inline_label => t('.recurring_hint') %>  
于 2012-06-12T19:38:31.917 に答える
1

最新のsimple_formを使用すると、オプションをすぐに使用できます。

于 2012-09-09T08:08:17.513 に答える
0

ブートストラップ サポートを使用して simple_form をインストールできるため、コントロール グループなどのラッパーを記述する必要はありません。

インストールに関するこのリンクを確認してください: https://github.com/plataformatec/simple_form#twitter-bootstrap

あなたがする必要があるのは、コマンドを実行するだけです:

rails generate simple_form:install --bootstrap

このページでは、bootstrap と simple_form を使用した水平方向のチェックボックスを含むいくつかの例を見ることができます: http ://simple-form-b​​ootstrap.plataformatec.com.br/articles/new

あなたが本当にそれをあなたのやり方で使いたいのなら、ラベルに「チェックボックス」と共にクラス「インライン」を追加する必要があります。

于 2012-06-12T01:55:18.413 に答える