15

ここで何が欠けていますか?私は Rails 4.0.0 で作業しており、新しい Bootstrap 3.0.0rc1 を試しています。レシピモデルとレシピの「カテゴリ」フィールドをフィードするカテゴリモデルを持つ単純な「レシピボックス」アプリがあります。レシピ#新しいビューでは、次のフィールドが定義されています。

<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 ヘルパーは、class 属性を備えた、適切にフォーマットされたタグをレンダリングします。しかし、select または collection_select ヘルパーをどのように作成しても、Rails から class 属性を含む を取得できないようです。上記のコードは私にこれを与えます:

<select id="recipe_category" name="recipe[category]"><option value="">Select a category</option>

...

したがって、プロンプトは表示されますが、クラスの属性は表示されないため、html_options ハッシュの一部が認識されているように見えます。ただし、Bootstrap スタイルは適用されません。クラスの周りに中かっこ {} を使用するかどうかは関係ありません:「フォームコントロール」かどうか。collection_select パラメータの周りに括弧を使用するかどうかは関係ありません。selectヘルパーでも発生します。

誰でもアドバイスできますか?これも見てますか?

4

4 に答える 4

10
<%= f.collection_select :category, Category.all, :id, :name, {prompt: "Select a category"}, {class: "form-control"} %>

チェックされた回答は機能しませんが、正しい回答がコメントに埋もれているためチェックされます (Alter Lagos 提供)。実際の回答をコメントから外すことで、混乱を避けようとしています。

于 2013-12-12T18:32:28.237 に答える
0

これを試してください、私のために働きます!

<%= collection_select(:category, :category_id, @category_for_advertising, :id, :description, {}, {:class=>"dropdown-menu"}) %>
于 2017-05-13T02:15:48.120 に答える