0

我在 User 类和 Table 类之间有一个多对多的关联。此外,我在用户和表之间有一对多的关联(一个用户最终拥有表)。我正在尝试访问用户可以访问的所有表(本质上加入两个关联)。

此外,最好使用 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
4

1 回答 1

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 )。如果您想出一种方法,如果您能告诉我,我将不胜感激。

谢谢!

延斯

于 2010-11-04T13:20:56.887 回答