繁体   English   中英

红宝石逻辑,用于获取每个列表的第一张图片

[英]ruby logic for getting first image of each listing

我有一个listing model 每个列表都有many图像。 因此,在index页面中,我想显示所有列表以及每个列表的第一张图片。 因此,在控制器中,我首先获取所有包含诸如:name: description etc所有字段的列表。 现在,对于图像部分是卡住的地方。 如何使用ruby代码在每个房间的image url中正确添加: custom_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_url

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM