//////// UPDATE

这是我提交表单作为更新时开发日志的输出


LogoCategory加载(0.3ms)选择logo_categories。* FROM
logo_categories内联接logos接通logo_categoriesid =
logoslogo_category_id内联接logos_posts ON logosid =
logos_postslogo_id其中logos_postspost_id = 61


//////////////

如果您具有如下所示的应用设置,那么有谁知道为什么会收到这样的错误?我在任何地方都找不到任何信息。

PostsController#update中的ActiveRecord :: HasManyThroughNestedAssociationsAreReadonly


无法修改关联“ Post#logo_categories”,因为它会
通过一个以上的协会。


post.rb

has_and_belongs_to_many :logos
has_many :logo_categories, :through => :logos


logo.rb

  belongs_to :logo_category
  has_and_belongs_to_many :posts


logo_category.rb

has_many :logos
has_and_belongs_to_many :posts


我的桌子是...


posts(id),徽标(id),logos_posts(id,logo_id,logo_category_id),
logo_categories(ID)


仅在编辑帖子记录并且选中或取消选中logo_category复选框时,才尝试保存帖子模型的_form时出现错误。

欢迎任何想法!谢谢

最佳答案

尝试:

post.rb

has_and_belongs_to_many :logos


logo.rb

has_and_belongs_to_many :posts


编辑:

您的“ logo_categories”迁移看起来像:

  create_table :logo_categories do |t|
    t.references :logo
    t.references :post
    t.timestamps
  end


看一下链接,它将帮助您使用HABTM:

http://asciicasts.com/episodes/17-habtm-checkboxes

http://ramblings.gibberishcode.net/archives/rails-has-and-belongs-to-many-habtm-demystified/17

关于ruby-on-rails - has_many:through关联的奇怪关联错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10026266/

10-16 12:55