[英]Multiple Select for nested attributes in rails 4
我有這個代碼
class Department < ActiveRecord::Base
has_many :admin_permissions
accepts_nested_attributes_for :admin_permissions
end
視圖:
= ep.fields_for :department, dept_object do |dept|
= dept.fields_for :admin_permissions, @user.admin_permissions.new(department: dept.object) do |ap|
= ap.collection_select :permission_type, AdminPermission.permission_types.map{ |dp| [dp.first, dp.first.humanize] }, :first, :second, {}, { :multiple => true, class: 'form-control' }
但是在按下“提交”按鈕后的參數中,參數如下所示:
"department_attributes"=>
{"company_id"=>"2",
"name"=>"",
"admin_permissions_attributes"=>{"0"=>{"permission_type"=>["", "human_resource"]}}},
代替
"department_attributes"=>
{"company_id"=>"2",
"name"=>"",
"admin_permissions_attributes"=>{"0"=>{"permission_type"=>"hr"}, "1" => {"permission_type" => "manager"}}}
如何通過多項選擇實現這一目標? 謝謝!
您的語法看起來正確,但是您可以嘗試將:multiple刪除
ap.collection_select :permission_type, AdminPermission.permission_types.map{ |dp| [dp.first, dp.first.humanize] }, :first, :second, {}, :multiple => true
但是結果將始終為以下形式
"admin_permissions_attributes"=>{"0"=>{"permission_type"=>["", "human_resource", "management"]}}}
它們將沒有各自的ID,但將作為列表傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.