3

//////// 更新

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

LogoCategory Load (0.3ms) SELECT logo_categories.* FROM logo_categoriesINNER JOIN logosON logo_categoriesid= logos。内部logo_category_id加入。= 。在哪里。= 61logos_postslogosidlogos_postslogo_idlogos_postspost_id

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

如果您有一个像下面这样的应用程序设置,有没有人知道他们为什么会收到这样的错误......我在任何地方都找不到任何信息。

ActiveRecord::HasManyThroughNestedAssociationsAreReadonly in PostsController#update

无法修改关联“Post#logo_categories”,因为它通过多个其他关联。

post.rb

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

徽标.rb

  belongs_to :logo_category
  has_and_belongs_to_many :posts

logo_category.rb

has_many :logos
has_and_belongs_to_many :posts

我的桌子是……

帖子 (id) , 徽标 (id), logos_posts (id, logo_id, logo_category_id), logo_categories (id)

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

欢迎任何想法!谢谢

4

1 回答 1

1

尝试:

post.rb

has_and_belongs_to_many :logos

徽标.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

于 2012-04-05T10:29:04.393 回答