ここで何が欠けていますか? Rails 4.0.0で作業していて、新しいBootstrap 3.0.0rc1を試しています。レシピモデルを持つシンプルな「レシピボックス」アプリがありますレシピの「category」フィールドにフィードするCategoryモデル。recipes#newビューでは、次のフィールドが定義されています。
<h1>Create New Recipe</h1>
<%= form_for @recipe, html: { class: 'form-horizontal' } do |f| %>
<fieldset>
<legend>Main Information</legend>
<div class="form-group">
<%= f.label :name, "Recipe name", class: "col-lg-2 control-label" %>
<div class="col-lg-6">
<%= f.text_field :name, class: "form-control" %>
</div>
</div>
<div class="form-group">
<%= f.label :category_id, class: "col-lg-2 control-label" %>
<div class="col-lg-6">
<%= f.collection_select :category, Category.all, :id, :name, class: "form-control", Prompt: "Select a category" %>
</div>
</div>
...
Text_fieldヘルパーは、クラス属性を備えた適切にフォーマットされたタグをレンダリングします。ただし、selectヘルパーまたはcollection_selectヘルパーをどのように作成しても、クラス属性を含むaを取得するためにRailsを取得できないようです。上記のコードは次のようになります。
<select id="recipe_category" name="recipe[category]"><option value="">Select a category</option>
...
したがって、プロンプトは通過しますが、クラスattribは通過しないため、html_optionsハッシュの一部が認識されているように見えます。ただし、Bootstrapスタイリングは適用されません。クラスの前後に中括弧{}を使用するかどうかは関係ありません: "form-control"かどうか。 collection_selectparamsかどうか。selectヘルパーでも発生します。
誰かアドバイスできますか?あなたもこれを見ていますか?
使用してみてください:
<%= f.collection_select :category, Category.all, :id, :name, {Prompt: "Select a category"}, {class: "form-control"} %>
Railsのドキュメント によると、最初にオプションがあり、次にhtmlオプションがあります。 htmlオプションは 中括弧 にある必要があることに注意してください:{Prompt: "Select a category"}
または{class: "form-control"}
。
<%= f.collection_select :category, Category.all, :id, :name, {Prompt: "Select a category"}, {class: "form-control"} %>
チェックされた回答は機能しませんが、正解がコメントに埋め込まれているためチェックされます(Alter Lagosによって提供されます)。コメントから実際の回答を移動することで、混乱を避けようとしています。
これを試してみてください、私のために働きます!
<%= collection_select(:category, :category_id, @category_for_advertising, :id, :description, {}, {:class=>"dropdown-menu"}) %>
W3CSSを組み込んだ、回答済みの別のバージョン:
<%= family_form.collection_select :billing_status_id,
> BillingStatus.by_tenant(@cutid).order(:description), :id,
> :description, {}, {class: 'w3-select'} %>
<%= family_form.label
> :billing_status, class: 'w3-label' %>