Форма для объекта, имеющего таблицу соединений в Rails - PullRequest
0 голосов
/ 17 мая 2018

Предположим, у меня есть три таблицы:


компания

  • id
  • имя

автомобили

  • id
  • имя

companies_cars

  • company_id
  • car_id

Зная, что у человека может быть много машин и что в базе уже зарегистрировано много машин, как я могу это сделать?создайте форму для регистрации нового пользователя и проверьте, какие машины у него есть?

Эта форма будет содержать поле ввода для имени и один флажок для каждого зарегистрированного автомобиля.

Я пытался сделать это разными способами и искал ответ в Интернете, но ничего, что я пытался, не сработало: /.

1 Ответ

0 голосов
/ 17 мая 2018

Вы можете дать ему список выбора с множественным выбором:

= form_for @user,
           url: user_path,
           html: { class: 'form-class', method: :post } do |f|
  = f.text_field :name,
                 class: 'name-class'
  = f.select :cars_ids,
             options_from_collection_for_select(Car.all, :id, :name),
             {},
             { multiple: true,
               class: 'cars-class', 
               data: { placeholder: 'Select one ore more...' } }
  = f.submit 'Register',
             class: 'button-class'

Затем в параметрах (после отправки) вы получите массив идентификаторов выбранных автомобилей. Я полагаю, вы также должны разрешить cars_ids вводить в параметрах (я не использую классический рельсовый путь, поэтому не могу проверить). И не забудьте создать users таблицу, соответствующую модель и т. Д.

...