2010-06-17 99 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