Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 用于获取每个列表的第一个图像的ruby逻辑_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 用于获取每个列表的第一个图像的ruby逻辑

Ruby on rails 用于获取每个列表的第一个图像的ruby逻辑,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个列表模型。每个列表都有许多图像。因此,在我的索引页面中,我想显示所有列表和每个列表的第一个图像。因此,在控制器中,我首先获取所有列表,其中包含所有字段,如:name,:description,等。现在,图像部分是我卡住的地方。如何使用ruby代码在每个房间中正确添加带有图像url的:custom\u url字段 (注意:我在前端使用angular,所以这只是用于json和 不想在数据库中为第一个图像添加单独的字段) 这是控制器代码 def search @listings =

我有一个
列表模型
。每个列表都有许多图像。因此,在我的
索引
页面中,我想显示所有列表和每个列表的第一个图像。因此,在控制器中,我首先获取所有列表,其中包含所有字段,如
:name
description,
等。现在,图像部分是我卡住的地方。如何使用
ruby
代码在每个房间中正确添加带有
图像url
的:
custom\u url
字段

(注意:我在前端使用angular,所以这只是用于json和 不想在数据库中为第一个图像添加单独的字段)

这是控制器代码

 def search
    @listings = Listing.all


      custom_url = listing.photos[0].image_url(:medium)

    respond_to do |format|
      format.html
      format.json { render json: {listings: @listings} }
    end
  end

在列表模型中,添加一个获取图像url的方法,并将其称为
custom\uURL

Listing.rb

def custom_url
    photos.first.image_url(:medium)
end
然后在
render_json
中包含方法
custom_url

def search
  @listings = Listing.all
  listings_json = @listings.as_json({methods: :custom_url}

  respond_to do |format|
    format.json { render json: {listings: listings_json }
  end
end

在列表模型中,添加一个获取图像url的方法,并将其称为
custom\uURL

Listing.rb

def custom_url
    photos.first.image_url(:medium)
end
然后在
render_json
中包含方法
custom_url

def search
  @listings = Listing.all
  listings_json = @listings.as_json({methods: :custom_url}

  respond_to do |format|
    format.json { render json: {listings: listings_json }
  end
end

作为旁白,可以重写为照片。首先。image\u url(:medium)
无需使用self,且first比[0]更可读。作为旁白,可以重写为照片。首先。image\u url(:medium)无需使用self,且first比[0]更可读