2010-06-17 158 views
0

我在User類和Table類之間有多對多關聯。此外,我有一個用戶和表之間的一對多關聯(一個用戶最終擁有該表)。我試圖訪問用戶可以訪問的所有表(基本上加入這兩個關聯)。在Rails 3中加入與多對多關聯的一對多關聯

此外,這將是很好做到這一點這與named_scope(現在的範圍)

這是我到目前爲止有:

class User < ActiveRecord::Base 
    acts_as_authentic 

    attr_accessible :email, :password, :password_confirmation 
    has_many :feedbacks 
    has_many :tables 

    has_many :user_table_permissions 
    has_many :editableTables, :class_name => "Table", :through => :user_table_permissions 

    def allTables 
    editableTables.merge(tables) 
    end 

end 

回答

0

我已經張貼了關於一個非常類似的問題最近。 (http://stackoverflow.com/questions/4085972/ruby-on-rails-combine-results-from-multiple-has-many-or-has-many-through-associa) 我的兩個協會有額外的障礙,一種是多態的,但實質上,我們都希望使用一個查找程序將兩個關聯結果組合起來,並使結果集可用於使用查找程序,命名範圍或其他AR功能進一步處理。

目前,如果不丟失完全的ActiveRecord功能(在上面使用'def'或者在關聯設置中使用:finder_sql和:counter_sql),這似乎是不可能的。如果你想出了一個這樣做的方法,如果你能告訴我,我會非常感激。

謝謝!

Jens