如何将一个模型的记录分配给活动管理员中的另一个关联记录?
How to assign one model's record to another associated record in active admin?
我有一个应用程序可以将申请人注册为 Participants
,然后将他们分配给 Groups
。这两个模型通过 has_and_belongs_to_many
关系关联。还有其他与Participant
相关的挂机模型,但与Groups
没有关联。
当我在活动管理员中创建新的 Group
时,我希望能够将 Participant
分配给 Group
。
我的两个模型通过名为 matchups
的连接 table 连接在一起。
我的Group
模型架构如下:
create_table "groups", force: :cascade do |t|
t.string "description"
t.integer "participant_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["participant_id"], name: "index_groups_on_participant_id"
end
我的Participant
模型架构如下:
create_table "participants", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.date "birthdate"
t.string "email"
t.string "phone"
t.string "street_name"
t.string "city"
t.string "state"
t.string "zip"
t.string "role"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "gender"
end
我的活动管理资源允许以下参数:
对于 Groups
:
permit_params :id, :description, :participant_id, :student_detail_id, :volunteer_detail_id
对于Participants
:
permit_params :id, :first_name, :last_name, :gender, :email, :birthdate, :phone, :street_name, :city, :state, :zip, :role
当我在活动管理员中创建一个新的 Group
时,我能够填写的唯一字段是:描述。
我想将新组分配给一个或多个:participant_id。
我没有足够的声誉来评论你的post,所以我会提出我的问题作为答案并稍后编辑它。
你能检查你的服务器日志,看看有什么数据被发送到创建操作吗?如果我不得不猜测,participant_id
永远不会被发送。
在 admin/groups.rb
中编写自定义表单以接受多个 participant_ids 如下所示
ActiveAdmin.register Group do
permit_params :description , participant_ids: []
form do |f|
f.inputs 'Group Details' do
f.input :description
f.input :participant_ids, as: :check_boxes, collection: Participant.all
end
end
end
我有一个应用程序可以将申请人注册为 Participants
,然后将他们分配给 Groups
。这两个模型通过 has_and_belongs_to_many
关系关联。还有其他与Participant
相关的挂机模型,但与Groups
没有关联。
当我在活动管理员中创建新的 Group
时,我希望能够将 Participant
分配给 Group
。
我的两个模型通过名为 matchups
的连接 table 连接在一起。
我的Group
模型架构如下:
create_table "groups", force: :cascade do |t|
t.string "description"
t.integer "participant_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["participant_id"], name: "index_groups_on_participant_id"
end
我的Participant
模型架构如下:
create_table "participants", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.date "birthdate"
t.string "email"
t.string "phone"
t.string "street_name"
t.string "city"
t.string "state"
t.string "zip"
t.string "role"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "gender"
end
我的活动管理资源允许以下参数:
对于 Groups
:
permit_params :id, :description, :participant_id, :student_detail_id, :volunteer_detail_id
对于Participants
:
permit_params :id, :first_name, :last_name, :gender, :email, :birthdate, :phone, :street_name, :city, :state, :zip, :role
当我在活动管理员中创建一个新的 Group
时,我能够填写的唯一字段是:描述。
我想将新组分配给一个或多个:participant_id。
我没有足够的声誉来评论你的post,所以我会提出我的问题作为答案并稍后编辑它。
你能检查你的服务器日志,看看有什么数据被发送到创建操作吗?如果我不得不猜测,participant_id
永远不会被发送。
在 admin/groups.rb
中编写自定义表单以接受多个 participant_ids 如下所示
ActiveAdmin.register Group do
permit_params :description , participant_ids: []
form do |f|
f.inputs 'Group Details' do
f.input :description
f.input :participant_ids, as: :check_boxes, collection: Participant.all
end
end
end