У меня есть модель Story
и модель Post
. В каждой истории есть много сообщений, и каждый пост принадлежит истории.Eager Loading First Association
Когда я загружаю конкретную историю в память из БД, я хочу с нетерпением загружать последнее сообщение этой истории. Вот как я это сейчас:
@story = Story.includes(:posts).find(params[:story_id])
@latest_post = @story.posts.first #Note, story.posts :order => "created_at DESC"
Это работает, но это, кажется, не очень эффективно для загрузки всех сообщений сюжета в память, когда мне нужно только самый последний пост. Есть ли способ ограничить includes
, чтобы просто загружать первый пост? Должен ли я даже беспокоиться об этом?
не думаю эта работа. 'NoMethodError: undefined method' includes' для' # '. Разве вы не пытаетесь применить 'include' и т. Д. К экземпляру Story? –
Ops, typo, это 'include'. – MurifoX