在Rails 3中加入一对多关联与多对多关联

时间:2010-06-17 16:48:06

标签: activerecord has-many-through ruby-on-rails-3

我在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

1 个答案:

答案 0 :(得分: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)。如果你想出办法,我真的很感激,如果你能告诉我的话。

谢谢!