Получение количества вложенных моделей в контроллере - PullRequest
1 голос
/ 23 октября 2010

У меня есть две следующие модели:

photoalbums
 has_many:photos

photos
 belongs_to:photoalbums

Когда я показываю список всех фотоальбомов, я также хочу сказать, сколько фотографий существует в альбоме:

Контроллер:

def index
    @photoalbums = PhotoAlbum.all
end

Вид:

<%# Get the number of photos per this album %>
<% @photos = Photo.find_by_photo_album_id(photoalbum.id) %>
<li><%= @photos.count %> Photos</li>

Вышеприведенное не позволяет мне делать @photos.count или @photos.record в виде.

Есть ли лучшеспособ сделать это в контроллере?Я думал о include(:photos) в контроллере?

Спасибо !!!

1 Ответ

2 голосов
/ 23 октября 2010

Решение 1) По вашему мнению, вам нужно написать это ..

<% @photos = Photo.find_all_by_photo_album_id(photoalbum.id) %>
<li><%= @photos.count %> Photos</li>

вместо find_by_photo_album_id find_all_by_photo_album_id.

Решение 2)

In controller

def index
   @photoalbums = PhotoAlbum.find(:all,:include => :photos)
end

In View

<% @photos = photoalbum.photos %>
<li><%= @photos.count %> Photos</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...