2011-12-15 82 views
0

我一直在尋找這個,但我似乎無法讓它工作,即使他們已經說明了如何在某些博客上做到這一點。按成本訂購查詢

這裏是我的控制器代碼:

@items = Item.order('cost ASC').all 


現在,我希望這將排序的成本屬性下面的代碼,但它並不:

<ul id="items"> 
<% @items.each do |item| %> 
    <% if item.category == "consumables" %> 
     <li> 
      <div class="icon <%= item.friendly_id %>"></div> 
      <div class="tooltip"> 
       <h3><%= item.name %></h3> 

       <div class="cost"> 
        <span>Cost:</span> <%= item.cost %> 
       </div> 

       <p class="description"> 
        <%= item.description %> 
       </p> 

       <% unless item.bonus.blank? %> 
        <p class="bonus"> 
         <%= item.bonus %>    
        </p> 
       <% end %> 

       <% unless item.active.blank? %> 
        <div class="active"> 
         <h3>Active Ability</h3> 
         <p><%= item.active %></p> 
        </div> 
       <% end %>    
      </div> 
     </li> 
    <% end %> 
<% end %> 

PS。我不知道按特定值查找類別的方法是最有效的方法還是根據標準。如果你知道一個更好,更有效的方法來實現這一點,請告訴我如何。 :)

回答

2

也許你有錯誤的數據庫列類型爲cost列?

此外,你可以放心地忽略all,並只使用@items = Item.order('cost ASC')

過濾按類別,用命令:

@items = Item.where(:category => 'consumables').order(:cost) # ASC is by default 
+0

感謝您的答覆!這兩個選項都沒有工作:/ 它仍然列出所有項目都搞砸了,而不是按照價格的順序。 – imjp 2011-12-15 19:14:24