2011-12-15 14 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

ありがとう!これら2つのオプションのどちらも機能しません:/ 価格の順番ではなく、すべての項目をリストアップしています。 – imjp

関連する問題