2015-10-26 2 views
2

Я искал это в течение часа и до сих пор не нашел решения.Форма отношений has_many с ActiveAdmin?

У меня есть Account что has_many :users и User, что belongst_to :account

На моем admin/account я хочу, чтобы создать форму, давайте добавим эти многие пользователи учетной записи, так что я сделал:

form(html: { multipart: true }) do |f| 
    f.inputs "Account details" do 
     f.input :email 
     f.input :full_name 
     f.input :password 
     f.input :birth_date, :as => :datepicker 
     f.input :user_ids 
     f.input :bio 
     f.input :deleted 
    end 
    f.actions 
    end 

Но я получите ошибку unpermmited_parameter: user_ids, хотя я добавил ее к permit_params:

permit_params :email, :password, :deleted, :full_name, :birth_date, :bio, :created_at, :updated_at, user_ids:[] 

Я видел, что если вы попытаетесь заполнить поле с неправильным форматом, вы получите эту ошибку, поэтому я попытался заполнить его идентификаторами следующих способов: «1,2,3»; «1 2 3», [1,2,3] ... но все тот же.

Любые идеи?

ответ

1

Попробуйте это:

form(html: { multipart: true }) do |f| 
    f.inputs "Account details" do 
    ... 
    f.inputs 'Users' do 
    f.input :user_ids, as: :array 
    end 
    ... 
end 
+0

Я получаю 'Не удается найти вход класс ArrayInput', и в соответствии с Formatstic Документов: массив не является допустимым значение ввода. –

+1

Извините, я использовал там пользовательский ввод. Вы можете сделать это следующим образом: f.input: user_ids, as:: select, collection: User.pluck (: name,: id), include_blank: true, multiple: true –

+0

Я хотел избежать использования select, но я думаю У меня нет выбора. Благодаря! Еще одна вещь, знаете ли вы, как я могу отредактировать высоту «выбрать»? Это показывает мне только 4 за раз. –

Смежные вопросы