所以基本上我有两种类型的状态'我想显示两个属性status_id“2”和status_id“5”,属性永远不会有两个状态'所以我知道我不想使用& ;在这里,我希望能够拥有或声明,但我不知道如何去做。这就是我必须只显示status_id“2”并且它工作得很好。
@properties = Property.order("updated_at DESC").paginate(:per_page => 20, :page => params[:page], :conditions => { :status_id => '2' })
在我的模型中,我的范围看起来如下,不确定我是否可以这样做......
scope :for_sale, joins(:status).where(:statuses => { :current => 'For Sale'})
scope :market_listings, joins(:status).where(:statuses => { :current => 'Market Listing'})
任何帮助将不胜感激。
答案 0 :(得分:1)
而不是在:conditions
调用中使用paginate
,IMO会更清晰,更容易使用where
,如下所示:
@properties = Property.where('status_id = 2 or status_id = 5').order("updated_at DESC").paginate(:per_page => 20, :page => params[:page])
这也是可能的:
@properties = Property.order("updated_at DESC").paginate(:per_page => 20, :page => params[:page], :conditions => 'status_id = 2 or status_id = 5')
甚至更简单:
@properties = Property.order("updated_at DESC").paginate(:per_page => 20, :page => params[:page], :conditions => { :status_id => [2,5] })