0

私は投稿/カテゴリの典型的な関係を持っています (投稿には多くのカテゴリがあるため、カテゴリには多くの投稿があります)。simple viewRails 4を使用している初心者で、投稿トピックに一致するカテゴリを確認できる場所を実装しようとしています。

投稿コントローラー

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

PostAを編集しているときに、カテゴリ1を確認して保存すると機能します! しかし、もう一度編集すると、カテゴリに対応するcheck_box1がチェックされていません! 私はそれがすでにDBに保存されていることを知っています。そのため、カテゴリを再度確認すると、レコードが重複しています。結論: 投稿に 2 つのカテゴリが1割り当てられていAます。2つの質問?

view1)投稿に既に割り当てられているカテゴリの「チェック」を永続化するために、check_boxes を作成するにはどうすればよいですか?

2) カテゴリーと投稿の関係が重複しないようにするにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

これは、多対多の関連付けを持つチェックボックスに関する優れたチュートリアルです! RailsCast HASBTM チェックボックス

投稿モデルとカテゴリー モデルの間に関係が設定されていますか? このチュートリアルでは、最初から最後まで説明します。ほんの数日前に同じ問題に苦しんでいました。

于 2013-10-18T00:46:40.040 に答える