我在軌道上4.我有三個模型,Blends,Addons和AddonPairings。用戶可以創建共混物和如何通過has_many關係通過控制器提交collection_check_box?
Blend
have_many :addon_pairings
have_many :addons, through: :addon_pairings
Addon
have_many :addon_pairings
have_many :blends, through: :addon_pairings
AddonPairing
belong_to :blend
belong_to :addon
我的插件是在數據庫中的所有預製供用戶選擇儘可能多的,因爲他們要附加到一個融合。
在我new.html.erb
我的共混物
<%= form_for [current_user, @blend] do |f| %>
<div class="form-group">
<%= f.label :addons, "Add some addons to your blend" %>
<%= f.collection_check_boxes :addon_ids, Addon.all, :id, :name %>
</div>
<div class="form-group">
<%= f.submit class: "btn btn-lg btn-primary" %>
</div>
<% end %>
我的混合控制器
def create
@user = User.find(params[:user_id])
@blend = @user.blends.build(blend_params)
if @blend.save
redirect_to @user, notice: "Your blend has been created."
else
flash.now[:notice] = "Something went wrong. Please check the errors below."
render 'new'
end
end
private
def blend_params
params.require(:blend).permit(:name, :addon_ids)
end
如何讓我的控制器創建我的addon_pairings
表連接的共混物,所選擇的插件的記錄?謝謝。