2016-09-23 4 views
0

ブートストラップフレームワークを使用して、レールにドロップダウンボックスを取得しようとしています。ブートストラップレールがドロップダウン

<li class="dropdown"> 
     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Categories<span class="caret"></span></a> 
     <ul class="dropdown-menu"> 

<!-- trying to insert dynamic list for drop down --> 

     <li role="separator" class="divider"></li> 

    <li><%= link_to "All Categories", categories_path %></li> 

     </ul> 
    </li> 

私はそれがインデックス

<% @categories.each do |category| %> 

    <li><%= category.name %></li> 
<%end > 

から<ul>リスト</ul>に似だろう考え出ししかし、レールは、私のドロップダウンが_partial htmlファイルである...定義されていない.each言います。私は間違って何をしていますか?

おかげで、 ジョー

+0

'それぞれがdefined'ではありません、おそらく、それぞれが 'nil:NilClass'のために定義されていないと指定していますか? '@ categories'はどのように定義していますか? – SteveTurczyn

+0

あなたの部分的な変数に 'categories'変数を渡して、それを使うべきです。部分的な依存関係を '@ instance'変数の存在に依存するよりも、部分的に明示的に渡す方が常に良いです。 – meagar

+0

OK、@ category変数はカテゴリコントローラにあります。私はindex.hmtl.erbページからアクセスできます。私は何とかそれを参照する必要があります。 はい。 nil.Nilclassは私のエラーです。では、このカテゴリ変数を部分HTMLファイルにどのように渡すのですか? –

答えて

0

あなたの部分を呼び出すと、あなたはそのように地元の人々を渡す必要があります。

<%= render 'my_partial', catgories: @categories %> 

そして、あなたの部分で:

<% categories.each do |category|%> 
    <li><%= category.name %></li> 
    <% end %> 
関連する問題