从模型中获取数据时出现错误,这是我创建了" ProductSearch"引擎和ProductSearch内部我有控制器,模型,帮助器和视图。
现在控制器方法出错了,而下面执行的是控制器方法的代码
def stores_in_mall
@stores ||= TenantRetailigenceRetailer.
for_property(@property).all(:include => :retailer, :order => 'retailers.name').
reject{ |s| s.retailer.nil? || s.retailer.suite.nil? }
end
以下是ProductSearch Model的代码
module ProductSearch
class TenantRetailigenceRetailer < ActiveRecord::Base
belongs_to :retailer
belongs_to :retailigence_retailer
attr_accessor :tenant_id, :retailigence_retailer_id
scope :for_property, lambda{ |property|
{ :conditions => { :retailer_id => property.retailers.map(&:id) } }
}
def name
retailer.name
end
end
end
答案 0 :(得分:1)
如果返回activerecord关系
,则可以使用多个范围class Person < ActiveRecord::Base
scope :find_someone, -> (id) { where(id: id) }
scope :find_another, -> { where(type: "xyz")}
end
现在你可以像
一样使用它们Person.find_someone(1).find_another.all
但在你的情况下,范围正在返回一个条件
{:conditions =&gt; {:retailer_id =&gt; [1,2]}}
所以'all'方法不起作用。