2013-10-17 30 views
0

我有一個職位/類別的典型關係(職位有很多類別,所以類別有很多職位)。我是使用Rails 4的新手,並試圖實現一個simple view,在那裏我可以檢查哪些類別與帖子主題相匹配。更好的方法collection_check_boxes使用

PostsController

... 
    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和保存,它的作品!但是當我再次編輯它的check_box通訊員到類別1未檢查!我知道它已經保存在數據庫中。所以當我再次檢查類別時,它會複製記錄。結論:我有兩個類別1分配到我的帖子A。兩個問題?

1)我如何讓view中的check_box繼續對已分配給該帖子的類別進行「檢查」?

2)如何防止類別和帖子之間的重複關係?

感謝

回答

1

這是關於有許多複選框一對多關聯的一個偉大的教程! RailsCast HASBTM Checkboxes

您是否在Post和Category模型之間建立了關係?本教程將從頭到尾介紹它。就在幾天前我還在爲同樣的問題苦苦掙扎。