Невозможно изменить ассоциацию, поскольку исходный класс отражения связан с помощью: has_many + rails 3.0.10 - PullRequest
2 голосов
/ 13 декабря 2011

Ошибка при получении ActiveRecord :: HasManyThroughCantAssociateThroughHasOneOrManyReflection в ProjectController # 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

Я новичок в рельсах и пытался их решить, но я не думаю, что смогу изменить свои ассоциации.

Я использую рельсы 3.0.10

Пожалуйста, помогите мне здесь.

  • Спасибо

1 Ответ

0 голосов
/ 14 декабря 2011

Я думаю, что мои ассоциации были не правы.

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

вместо has_many; Я должен был использовать belongs_to.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...