 <p>Ok, I found out the answer and it's particularly simple. (Finally for days)</p> <p>All I gotta do is just remove the collection, as well change the filter into checked. I also changed the <code>additional_toppings</code> into <code>additional_topping_ids</code> to return the array and I also add the <code>accessible</code> attribute.</p> <p>Here are the codes:</p> <pre><code>f.input :additional_toppings, as: :check_boxes, checked: food.additional_topping_ids </code></pre> <hr> <pre><code>attr_accessible :name, :price, :quantity, :picture, :category_id, :info , :favourite, :weekly, :unlimited, :toppings, :tag_list, :additional_topping_ids has_many :categorizations has_many :additional_toppings, :through =&gt; :categorizations </code></pre>