Как создать область для получения последних десяти транзакций с помощью rails3 - PullRequest
5 голосов
/ 20 января 2011

Попытка добавить область в мою модель транзакций, чтобы она возвращала последние 10 транзакций с помощью creat_at

Ответы [ 3 ]

16 голосов
/ 20 января 2011
scope :most_recent, order(created_at: :desc).limit(10)
12 голосов
/ 17 августа 2013

Используйте области действия

# Ruby 1.8 style
scope :recent, lambda { |num| order('created_at DESC').limit(num) }

# Ruby 1.9/2.0 style
scope :recent, ->(num) { order('created_at DESC').limit(num) }

Пример использования:

<% Organization.recent(10).each do |organization| %>
  <li><% link_to organization.name, organization %></li>
<% end %>
1 голос
/ 19 сентября 2017

Если вы хотите выполнить эту операцию для ассоциации, вы можете напрямую ограничить количество записей, извлекаемых из ассоциации

class School
 has_many :students -> order(created_at: :desc).limit(10)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...