Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 获取嵌套模型';s在控制器中计数_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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>