1

所以基本上我有两种状态',我想用 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'})

任何帮助,将不胜感激。

4

1 回答 1

1

与其:conditionspaginate通话中使用,不如在 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] })
于 2012-05-01T07:56:00.047 回答