1
我試圖修改我的活動管理員用戶窗體來修改用戶的角色。角色是通過role_assignments表進行的多態關聯。指定與Active Admin的新多態關聯
當我提交表單時,角色沒有更新,我猜是因爲關聯的屬性被保護,我沒有正確使用permit_params。
ActiveAdmin.register User do
permit_params :email, :newsletter_subscription, :password, :password_confirmation,
role_assignment_attributes: [:role_id, :user_id, :_destroy, :_create]
...
end
任何想法?附加信息:
模式:
create_table "role_assignments", force: true do |t|
t.integer "role_id"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
的類很簡單:
class RoleAssignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
end
class Role < ActiveRecord::Base
has_many :role_assignments
has_many :users, through: :role_assignments
belongs_to :user
end
這工作找到並給了我一個很好的形式修改角色。用戶的活動管理員表單:
form do |f|
f.inputs "Admin Details" do
f.input :email
f.input :newsletter_subscription, :as => :radio
f.input :roles, :as => :check_boxes
end
end
但是,當我提交表單時,沒有分配任何內容。