2014-06-08 41 views
0

我正在遍歷數據庫並在同一行中顯示兩列中的每一列的結果。目前,圖像始終顯示在每一行的第一列。我想替換這個,所以其他的圖片在右邊,而在左邊的描述。 example在每次迭代的不同位置顯示信息

<% @guide.in_groups_of(2, false).each do |guide_row| %> 
    <% for guide in guide_row %> 
    <div class='row guide-row'> 
     <div class="col-md-6"> 
      <%= link_to image_tag(guide.image(:large)), guide.image(:xlarge), :class => 'guide-image' %> 
     </div> 
     <div class="col-md-6 guide-list "> 
      <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href=" #info_<%= guide.id %>"> 
      <h2 class='guide'><%= guide.title %></h2> 
      </a> 
      <h4 class='guide'>From <%= guide.date_starting.strftime("%a %b #{guide.date_starting.day.ordinalize}") %> to <%= guide.date_ending.strftime("%a %b #{guide.date_starting.day.ordinalize}") %></h4> 
      <div class='col-md-12'> 
      </div> 
      <div class="accordion" id="categories"> 
       <div class="accordion-group"> 
        <div class="accordion-heading"> 
         <a class="accordion-toggle btn glyphicon" data-toggle="collapse" data-parent="#accordion" href=" #info_<%= guide.id %>"> 
         <i class='glyphicon glyphicon-info-sign info-icon'></i> 
         </a> 
         <% unless guide.extra_info.nil? %> 
         <%= link_to ' ', guide.extra_info, :class => 'glyphicon glyphicon-globe info-icon' %> 
         <% end %> 
         <div id="info_<%= guide.id %>" class="accordion-body collapse"> 
          <div class="acccordion-inner"> 
           <% if guide.description.empty? %> 
           <h4>No description available</h4> 
           <% else %> 
           <p class='guide-description'><%= guide.description %></p> 
           <% end %> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

在此先感謝。

回答

0

我不知道你是如何迭代你的行,從上面不太清楚。 但我建議你創建2個partials(小的erb文件),一個用於偶數行,另一個用於奇數行。然後基於你的迭代器,你可以渲染偶數部分或奇數部分,每個部分都有圖像和文本互相交換。

基本上是這樣的:(沒有測試,但應該給你的想法

<%= @even_row? ? render 'shared/even_row' : render 'shared/odd_row' %> 

找出哪對是即使VS奇,你可以做這樣的事情:

<% @guide.in_groups_of(2, false).each_with_index do |guide_row, index| %> 

<%= index.even? ? render 'shared/even_row' : render 'shared/odd_row' %> 

那麼你可以使用index.even?來確定要渲染的部分。

希望可以幫到

+0

這已經是局部的了,是否可以在局部使用局部? –

+0

是的,我相信是 – nPn

+0

但這怎麼會知道如何在兩種不同的形式之間交替?什麼使@even_row成爲「偶數」值? –