【问题标题】:Cannot modify association because the source reflection class is associated to via :has_many + rails 3.0.10无法修改关联,因为源反射类通过 :has_many + rails 3.0.10 关联
【发布时间】:2012-02-24 07:14:50
【问题描述】:

出现跟随错误 ProjectController#create 中的ActiveRecord::HasManyThroughCantAssociateThroughHasOneOrManyReflection#create

无法修改关联“ProjectMaster#tag_masters”,因为源反射类“TagMaster”通过 :has_many 关联到“ProjectTag”。

以下是我的模型。

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

请帮帮我。

  • 谢谢

【问题讨论】:

  • 我认为我的联想是错误的。 class ProjectTag has_many :tag_masters
    has_many :project_masters
    end 而不是 has_many;我不得不使用belongs_to。

标签: ruby-on-rails-3


【解决方案1】:

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

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

而不是has_many;我必须使用belongs_to

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多