Стремится загрузить последнюю подчиненную запись - PullRequest
4 голосов
/ 13 марта 2009

Предположим, что модель X имеет_many Ys, а модель Y принадлежит_в X. Каждый Y имеет дату, когда он был вставлен в базу данных. Теперь, возможно ли загрузить все Xs и нетерпеливо загрузить последний Y для каждого из X (только последний, потому что у каждого X есть базилионы Ys)?

Ответы [ 2 ]

4 голосов
/ 14 марта 2009

Да,

Давайте возьмем этот пример

class Song < ActiveRecord::Base
   has_many :votes
end

class Vote < ActiveRecord::Base
  belongs_to :song
end

Добавить новую ассоциацию в композицию:

has_one :last_vote, :class_name => 'Vote', :order => 'created_at DESC'

эта новая ассоциация всегда возвращает последнее созданное Голосование за песню.

Чтобы загрузить его:

songs = Song.find(:all, :conditions => 'artist_name = "frank"', :include => :last_vote)
0 голосов
/ 14 марта 2009

Предыдущее решение действительно великолепно! Тем не менее, я ищу еще одну функцию: можно ли загрузить последнюю подчиненную запись до определенной даты? Это необходимо для того, чтобы мои пользователи могли просматривать историю голосов песен (со ссылками на предыдущий и последующие дни).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...