2013-04-28 48 views
0

我可以用PHP創建這一點,但在軌同樣的事情將無法正常工作:如何創建Rails的動態佈局列

<div class="col"> 
    <div class="row">content 1 here</div> 
    <div class="row">content 2 here</div> 
</div> 
<div class="col"> 
    <div class="row">content 3 here</div> 
</div> 

這些都是動態的,所以我想產生新的列時數據庫中的col字段發生更改。因此,內容1的列爲1,內容2,列= 1,內容3列= 2。內容四處移動,因此我將通過ajax更新數據庫中的列號。問題是如何加載所有內容框並放在正確的列中。在Rails中這樣做的最佳做法是什麼?以下是我會PHP(僞代碼)做

<?php 
    // this will be content from database 
    $content = $dbdata; 
    // start first column 
    echo '<div class="col">'; 
    foreach($content as $thiscontent){ 
     // output row divs with content 
     echo '<div class="row">'.$thiscontent['body'].'</div>'; 
     if($lastcol == $thiscontent['col']){ 
      // end col and create new col div 
      echo '</div><div class="col">'; 
     } 
     $lastcol = $thiscontent['col']; 
    } 
    // ends last column 
    echo '</div>'; 
?> 

我可能只是一個菜鳥,並要對這個錯誤的方式,可以隨意來教育我如何應該這樣做。我的數據庫不是確定col數的方法嗎?軌道處理迭代是否與我懷疑的不同?

回答

1

在rails中你可以試試這個。把它放在一個視圖文件:

// start first column 
    <div class="col"> 
    <% @dbdata.each do |thiscontent| %> 
     // output row divs with content 
     <div class="row"><%= thiscontent.body %></div> 
     <% if !lastcol.nil? and lastcol == thiscontent.col %> 
     // end col and create new col div 
     </div><div class="col"> 
     <% end 
     lastcol = thiscontent.col 
    end %> 
    // ends last column 
    </div> 

請注意,您應該從控制器

+0

這結束了工作通過@dbdata的觀點,但我不得不改變LASTCOL到@lastcol。謝謝一堆。 – rncrtr 2013-04-28 20:37:55