Ruby on rails 获取嵌套模型';s在控制器中计数
我有以下两种型号:Ruby on rails 获取嵌套模型';s在控制器中计数,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有以下两种型号: 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_alb
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
在控制器中是否有更好的方法执行此操作?我想在控制器中可能有一个包含(:照片)
谢谢 解决方案1)在您看来,您需要编写以下内容
<% @photos = Photo.find_all_by_photo_album_id(photoalbum.id) %>
<li><%= @photos.count %> Photos</li>
照片
而不是按相册查找,而是按相册查找
解决方案2)
控制器中的
def索引
@photoalbums=PhotoAlbum.find(:all,:include=>:photos)
结束
鉴于
照片
你说的“不允许”是什么意思?如果您转到脚本/控制台并键入相同的内容,@photos的值是多少?为什么不使用photoalbum.photos.count?谢谢,但出于性能原因,我是否应该在控制器中执行某种类型的“渴望、包含”类型的操作?想学那些东西吗?
In controller
def index
@photoalbums = PhotoAlbum.find(:all,:include => :photos)
end
In View
<% @photos = photoalbum.photos %>
<li><%= @photos.count %> Photos</li>