Я пытаюсь создать страницу администратора, которая имеет вложенную форму для другой модели.
У меня есть модель Playbook:
playbook.rb
has_and_belongs_to_many :groups
accepts_nested_attributes_for :groups
мой вид формы
_form.html.haml
<%= form_with(model: playbook, local: true) do |form| %>
...
<%= collection_check_boxes(:group, :group_ids, Group.all, :id, :name) %>
<div class="actions">
<%= form.submit %>
</div>
Чтобы объяснить это более подробно, в сборниках пьес может быть много групп, которые являются другой моделью иЯ хочу автоматически сохранить таблицу присоединения к groups_playbooks при сохранении playbook с использованием, как мне кажется, вложенной формы.Я просто не знаю, как сделать вложенную форму с набором флажков, таких как мой вид.
Вот часть схемы, которая поможет получить лучшую картину:
create_table "groups", force: :cascade do |t|
t.string "name"
t.string "variables"
t.bigint "server_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["server_id"], name: "index_groups_on_server_id"
end
create_table "groups_playbooks", id: false, force: :cascade do |t|
t.bigint "group_id", null: false
t.bigint "playbook_id", null: false
end
create_table "groups_servers", id: false, force: :cascade do |t|
t.bigint "group_id", null: false
t.bigint "server_id", null: false
end
create_table "playbooks", force: :cascade do |t|
t.string "name"
t.string "play"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "description"
end
create_table "playbooks_servers", id: false, force: :cascade do |t|
t.bigint "playbook_id", null: false
t.bigint "server_id", null: false
end
create_table "servers", force: :cascade do |t|
t.string "name"
t.string "ip"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.bigint "group_id"
t.index ["group_id"], name: "index_servers_on_group_id"
end