Предварительно установите несколько флажков в Rails ActiveAdmin - PullRequest
0 голосов
/ 15 марта 2019

Мне нужно предварительно проверить несколько флажков в форме для модели habtm в ActiveAdmin при создании нового объекта. Массив с идентификаторами вложенной модели, взятой из массива в записи базы данных сторонней модели. Моя текущая конфигурация:

ActiveAdmin.register Hotel do
  permit_params page_ids:[]
  ...
  form do |f|
    ...
    f.inputs 'Pages' do
      f.input :pages, as: :check_boxes, collection: Page.order('position asc')
    end
    f.actions
  end
end

class Hotel < ApplicationRecord
  has_and_belongs_to_many :pages
  accepts_nested_attributes_for :pages
  ...
end

class Page < ApplicationRecord
  has_and_belongs_to_many :hotels
  ...
end

Массив с идентификаторами страниц, которые должны быть предварительно проверены:

Setting.find_by_name("defined_pages_ids").value.split(',').map(&:to_i) # [1,2,3,4]

Какое решение мне нужно для осуществления предварительной проверки?

1 Ответ

0 голосов
/ 15 марта 2019

Необходимо переопределить создание нового экземпляра модели отеля и предварительно заполнить необходимые данные

  controller do

    def new
      @hotel = Hotel.new
      @hotel.pages << Page.all
    end

end
...