无法修改关联,因为源反射类与via:has_many + rails 3.0.10相关联

时间:2011-12-13 12:34:38

标签: ruby-on-rails-3

获得以下错误 ProjectController中的 ActiveRecord :: HasManyThroughCantAssociateThroughHasOneOrManyReflection #create

无法修改关联'ProjectMaster#tag_masters',因为源反射类'TagMaster'通过以下方式与'ProjectTag'相关联:has_many。

以下是我的模特。

class ProjectTag < ActiveRecord::Base
  has_many :tag_masters
  has_many :project_masters
end

class TagMaster < ActiveRecord::Base
  has_many :project_tags
  has_many :project_masters, :through => :project_tags  
end

class ProjectMaster < ActiveRecord::Base
  has_many :project_tags
  has_many :tag_masters, :through => :project_tags
  # Some more code and associations here..
end

我是rails的新手,并试图解决它,但我认为我不能改变我的联想。

我正在使用rails 3.0.10

请帮帮我。

  • 感谢

1 个答案:

答案 0 :(得分:0)

我认为我的关联是错误的。

class ProjectTag < ActiveRecord::Base
  has_many :tag_masters 
  has_many :project_masters 
end

而不是has_many;我不得不使用belongs_to