ruby エラーメッセージ ブートストラップチェックボックス付きシンプルフォーム



simple_form エラーメッセージ (3)

これにはいくつかのオプションがあります。詳細はhereをご覧ください:

最も簡単なのは、 :label => false:inline_label => trueチェックボックスに入れて、ラベル内のHTMLのどこを変更するかです。

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

これは私のために次のようなものを作り出します:

私はBootstrapでsimple_formを使用しています。私は自分の「Remember me」チェックボックスをTwitterのBootstrapドキュメントのように、ラベルの左側にインラインで置いておきたいと思います: http://twitter.github.com/bootstrap/base-css.html#forms : http://twitter.github.com/bootstrap/base-css.html#forms

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

<%= 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"ラベルが表示されます。

私は何を台無しにしたのですか?


Answer #1

@ 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?

Answer #2

私はこれが少しシンプルだと思う:

f.input :remember_me, wrapper: :vertical_boolean, as: :boolean  if devise_mapping.rememberable?

ラッパーは、インストール時にsimple_form 3.1.0rc2から少なくともconfig/initializers/simple_form_bootstrap.rbバンドルされています。

rails g simple_form:install --bootstrap




simple-form