邁向 Rails 高級新手

ids

collection_singular_ids是當我們做has_many時產生的method。

假設我們有DrinkMaterial兩個many-to-many的model 並希望使用者在新增Drink的時候可以同時選取Material做關聯

這時候的做法就是讓被選取的materials的id存成array,經由params[:material_ids]傳給drink controller rails就會根據material_ids幫我們建立關聯。

補充:

記得要在drink_controller.rb的strong params內加上material_ids: [] 使用simple_form時只要下f.association就可以了

<%=  simple_form_for @drink do |f| %>
  <%= f.association :materials, :as => :check_boxes %><br>
  <%= f.submit "Submit" %>
<% end %>

其他可參考的補充資料: