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

多态关联查询-Rails 5.1

  •  0
  • Ben  · 技术社区  · 6 年前

    我想查询多态关联:

    @pois = Poi.where(poitable: Sleep.where(track_id: @track.id))
    

    好吧,有效果…我想添加第二个参数:

    @pois = Poi.where(poitable: Sleep.where(track_id: @track.id)).or.where(poitable: Town.where(track_id: @track.id))
    

    现在,我得到一个错误:“参数个数错误(给定0,应为1)”

    怎么了?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ben    6 年前

    or方法接受另一个ActiveRecord查询的参数

    所以语法是:

    Poi.where(poitable: Sleep.where(track_id: @track.id)).or(Poi.where(poitable: Town.where(track_id: @track.id)))