代码之家  ›  专栏  ›  技术社区  ›  Boucherie

ActiveRecord搜索类似条目以显示页面选择(Rails 5)

  •  -1
  • Boucherie  · 技术社区  · 6 年前

    我有一个从一个非常大的数据库生成的显示页面,由 @listing = Listing.find(params[:listing_id]) 在控制器中。在页面底部,我还有其他三个列表的链接;目前,它们是由 @listings = Listing.last(3) ,但我正在尝试选择三个类似的房源-按社区或按价格范围。

    示例- Listing.where(:price => 500000..600000).limit(2)

    然而与活动页面列表相比,我不知道如何做到这一点。例如,我如何从同一社区或同一记录的特定价格范围内挑选物品?如果有人能告诉我如何建立这种联系,我将不胜感激(我年纪相当小,但也在学习如何享受ActiveRecord,并想扩展我可以用它做的事情)。

    在有人问之前,我的模式是:

     create_table "listings", force: :cascade do |t|
        t.string   "mls"
        t.datetime "created_at",     null: false
        t.datetime "updated_at",     null: false
        t.string   "community"
        t.string   "description"
        t.integer  "price"
        t.string   "status"
        t.string   "address"
      end
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   antislice    6 年前

    看起来你需要这样的东西:

    price_range = (@listing.price - 100)..(@listing.price + 100)
    Listing.where(price: price_range, community: @listing.community).limit(3)
    

    你在正确的轨道上!