0

我有一个帖子/类别的典型关系(帖子有很多类别,所以类别有很多帖子)。我是使用 Rails 4 的新手,并试图实现一个simple view我可以检查哪些类别与帖子主题匹配的地方。

帖子控制器

    ...
    params[:post][:categories].each do |category_id|
      @post.categories << Category.find(category_id)
    end
    ...

_form.html.erb

      <div class="field">
        <%= f.label :categories %>
        <%= f.collection_check_boxes :categories, Simpleblog::Category.all, :id, :title %>
     </div>

当我编辑帖子A时,检查类别1并保存,它可以工作!但是当我再次编辑它时,与该类别对应的1复选框没有被选中!我知道它已经保存在数据库中。所以当我再次检查类别时,它会重复记录。结论:我1的帖子分配了两个类别A。两个问题?

1)我如何制作check_boxesview以保留已分配给帖子的类别的“检查”?

2)如何防止类别和帖子关系之间的重复?

谢谢

4

1 回答 1

1

这是一个关于具有多对多关联的复选框的很棒的教程! RailsCast HASBTM 复选框

您的 Post 和 Category 模型之间是否建立了关系?本教程将引导您从头到尾完成。就在几天前,我还在为同样的问题而苦苦挣扎。

于 2013-10-18T00:46:40.040 回答