25

私は Bootstrap で simple_form を使用しています。Twitter Bootstrap のドキュメントのように、ラベルの左側に [Remember me] チェック ボックスをインラインで配置したいと考えています: http://twitter.github.com/bootstrap/base- css.html#フォーム

私のフォームコードは次のようになります。

<%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => 'well'}) do |f| %>
    <%= f.input :email %>
    <%= f.input :password %>
    <%= f.input :remember_me, :as => :boolean if devise_mapping.rememberable?  %>

    <%= f.button :submit, "Sign In" %>

<% end %>

その結果、チェック ボックスの上に「Remember me」というラベルが表示されます。

私は何を台無しにしましたか?

4

3 に答える 3

60

これにはいくつかのオプションがあります。詳細については、こちらを参照してください。

最も簡単な方法 (私が思うに) は、チェックボックスで:label => falseandを使用:inline_label => trueして、HTML 内でラベルが配置される場所を変更することです。

<%= f.input :remember_me, :as => :boolean, :label => false, :inline_label => true if devise_mapping.rememberable? %>

これにより、次のようなものが生成されます。

ここに画像の説明を入力

于 2012-12-01T09:17:59.547 に答える
5

@alolの答えは縦型フォーム(フィールドの上のラベル)にはうまく機能しますが、横型フォームを使用していて、チェックボックスのラベルをチェックボックスの右側に表示したいが、レイアウトを維持したい場合フォーム、あなたはこれを行うことができます:

f.input :remember_me, :as => :boolean, :label => "&nbsp;", :inline_label => true if devise_mapping.rememberable?

true必要に応じて、の代わりにインライン ラベルとして使用する特定のラベルを渡すこともできます。

f.input :remember_me, :as => :boolean, :label => "&nbsp;", :inline_label => "My Label" if devise_mapping.rememberable?
于 2013-09-23T18:30:54.307 に答える