说我的控制器中有以下内容:
@category1
@category2
我希望找到与这两个类别相关的所有商店...
@stores = @category1.stores + @category2.stores
这个 工作,但不幸的是返回一个未改变的数组,而不是AR :: Base数组,因此,我不能做像分页,范围等... < / p>
在我看来,有一种通过多个实例关联找到的内置方式......不存在吗?
答案 0 :(得分:0)
#@stores = @category1.stores + @category2.stores
#if you want to call API methods you can just add conditions with the category id
@stores = Store.find(:all, :conditions => ['category_id=?', a || b])
答案 1 :(得分:0)
使用ActiveRecord,无论何时找到一组独特的模型对象,在该模型上调用find
通常都是最好的选择。
然后,您需要做的就是使用您关注的类别约束连接表。
@stores = Store.all(:joins => :categories,
:conditions => ['category_stores.category_id in (?)', [@category1.id, @category2.id]])