如何在RoR上订购检索到的Active Records

时间:2014-03-14 16:50:47

标签: ruby-on-rails ruby-on-rails-3 activerecord

我正在尝试从ddbb中检索有序记录并在列表中显示它们。我得到了正确的记录,但没有订购。

奖励专栏名为" credit"

@rewards = Reward.where(:merchant_id => @merchant.id, :order => :credits)


<ul class="list-group">
    <% @rewards.each do |reward| %>
        <li class="list-group-item"><%= reward.name %>
            <span class="badge"><%= reward.credits %></span>
        </li>
    <% end %>
</ul>

我也尝试过没有成功:

 @rewards = Reward.where(:merchant_id => @merchant.id).order(credits: :desc)

我得到这样的东西:

NAME Credits name1 - 20 name2 - 4 name3 - 25

2 个答案:

答案 0 :(得分:1)

 @rewards = Reward.where(:merchant_id => @merchant.id).order('credits desc')

你在那里混合使用rails 4语法,这不会像你使用rails 3

那样工作

答案 1 :(得分:0)

我们的代码中有以下内容,它的工作原理是rails 4的不同语法

在Rails 3.2.11中,Mongoid

Account.order_by(created_at: :desc)
or 
Account.order_by('created_at desc')

在Rails 4.0.3中,Postgres + Activerecord

Account.order(created_at: :desc)
also this will work
Account.order('created_at desc')
相关问题