2016-04-02 18 views
1

私は現在食事メニュー付きのレールプロジェクトを構築中です。 私のDBからproduct_nameを表示するのにいくつかの問題があります。現在、私の製品名で複数のbtnが表示されていますが、それぞれの名前で1つのbtnが失われています。 私はそれがnoobの質問であることを知っていますが、この問題については在庫があります。 は、ここでは今LKEに見えるものです:順序と仮定してレール製品名ビュー内

/app/views/main/_menu.html.erb

<div class="container"> 
    <div class="row"> 
    <% (1..8).each do |i| %> 
     <div class="col-sm-3 col-lg-3 col-md-3"> 
     <div class="thumbnail"> 
      <div class="image-container"> 
      <img id="menu-image" src="/assets/menu/menu-<%= i %>.jpg" alt=""> 
      </div> 

      <div class="caption"> 
      <h4 class="pull-right">$9.99</h4> 
      <h4> 
       <% @products.each do |product| %> 
       <a class="btn btn-default" data-toggle="modal" data-target="#myModal<%= i %>" style="color:#0B610B;"> 
        <%= product.product_name %> 
       </a> 
       <% end %> 
      </h4> 

      <p>This is the product description</a>.</p> 
      </div> 

      <div class="ratings"> 
      <p class="pull-right"> reviews</p> 
       <p> 
       <%= render "modal_menu" %> 
       <% (1..5).each do %> 
        <i class="fa fa-star-o rating-star"></i> 
       <% end %> 
       </p> 
      </div> 
      </div> 
     </div> 
     <% end %> 

答えて

1

: ここMy menu website

は私のコードです製品のうち、食事の順番と一致するものがあります(スクリーンショットのとおりです)。

<% @products.each_with_index do |product, index| %> 
    <% if index+1 == i %> 
     <a class="btn btn-default" data-toggle="modal" data-target="#myModal<%= i %>" style="color:#0B610B;"> 
      <%= product.product_name %> 
     </a> 
    <% end %> 
<% end %> 

ただし、(1..8)ではなく、最初の場所で直接ループする方がクリーンです。たとえば(テストされていない):

<div class="row"> 
<% @products.each_with_index do |product, index| %> 
    <div class="col-sm-3 col-lg-3 col-md-3"> 
     <div class="thumbnail"> 
     <div class="image-container"> 
      <img id="menu-image" src="/assets/menu/menu-<%= index+1 %>.jpg" alt=""> 
     </div> 

     <div class="caption"> 
      <h4 class="pull-right">$9.99</h4> 
      <h4> 
      <a class="btn btn-default" data-toggle="modal" data-target="#myModal<%= index+1 %>" style="color:#0B610B;"> 
       <%= product.product_name %> 
      </a> 
      </h4> 

      <p>This is the product description</a>.</p> 
     </div> 

     <div class="ratings"> 
      <p class="pull-right"> reviews</p> 

      <p> 
      <%= render "modal_menu" %> 
      <% (1..5).each do %> 
       <i class="fa fa-star-o rating-star"></i> 
      <% end %> 
      </p> 
     </div> 
     </div> 
    </div> 
<% end %> 

私は役立つことを望みます。

+1

ありがとう、とても役に立ちました。それは絶対に機能しました! – keke

関連する問題