associations help?

I have Users who can "own" Projects. There is only one owner. Users in general can be authorized to view certain projects. Here is my initial stab at this:

class User < ActiveRecord::Base   has_many :projects # ownership   has_many :project_viewers, :dependent => :destroy   has_many :projects, :through => :project_viewers, :uniq => true ... end

class ProjectViewers < ActiveRecord::Base     belongs_to :projects     belongs_to :users end

class Project < ActiveRecord::Base     belongs_to :owner, :class_name => 'User', :foreign_key => 'owner_id'     has_many :project_viewers, :dependent => :destroy     has_many :users, :through => :project_viewers, :uniq => true ... end

Things appear to work ok until I go to destroy a User, at which point I get:

../activesupport/lib/active_support/dependencies.rb:399:in `to_constant_name': Anonymous modules have no name to be referenced by (eval):1:in `compute_type'

Any help appreciated this fine Sunday!

Thanks,

s.ross

I have Users who can "own" Projects. There is only one owner. Users in general can be authorized to view certain projects. Here is my initial stab at this:

class User < ActiveRecord::Base   has_many :projects # ownership   has_many :project_viewers, :dependent => :destroy   has_many :projects, :through => :project_viewers, :uniq => true ... end

class ProjectViewers < ActiveRecord::Base     belongs_to :projects     belongs_to :users end

class Project < ActiveRecord::Base     belongs_to :owner, :class_name => 'User', :foreign_key => 'owner_id'     has_many :project_viewers, :dependent => :destroy     has_many :users, :through => :project_viewers, :uniq => true ... end

Things appear to work ok until I go to destroy a User, at which point I get:

../activesupport/lib/active_support/dependencies.rb:399:in `to_constant_name': Anonymous modules have no name to be referenced by (eval):1:in `compute_type'

Any help appreciated this fine Sunday!

I'm not trying to destroy the Project. I'm trying to destroy the record in the join table. Am I missing something?

Craig White wrote:

Nope - ignore me and my stupid suggestion.

:wink:

Craig