2010-01-01 70 views
0

我剛安裝acts_as_taggable_on插件,我試圖做Rails的acts_as_taggable_on多個表

@products = Product.find(:全部:包括=> [:點:標籤]:條件=>' ...',:tags =>'tag1,tag2')

正如你所看到的,我想使用find()方法和其他兩個模型(Product,Point,Tag)。我想在a:condition => {}屬性中使用所有3個模型。

它是否可行。我該怎麼辦?

回答

0

你爲什麼不合並結果?

@results = [] 
%W(Product Point Tag).each do |model| 
    @results += model.constantize.find(:all, :include => [:points, :tags], :conditions => '...', :tags => 'tag1, tag2') 
end 
0

我想你問的是如何在查找條件散列中使用多個模型。像這樣的東西應該工作。

@products = Product.find(:all, :include => [:points, :tags], :conditions => {:points=>{:value=>5}, :tags=>['tag1','tag2']}) 
+0

:tags =>不起作用...插件不支持這個,所以我正在尋找解決方案/解決方法。 – xpepermint 2010-01-01 23:49:39

+0

看看這個博客文章http://juixe.com/techknow/index.php/2006/07/18/acts-as-taggable-conditions-hack/它可能會給你一些想法。我不認爲你可以使用基於哈希的條件來做你想做的事情,這有點太複雜。 – 2010-01-02 01:33:56