Добавить запись в таблицу соединений has_and_belongs_to_many в поле выбора - PullRequest
0 голосов
/ 11 октября 2018

У меня есть две модели с отношением has_and_belongs_to_many, rental и project:

 class Rental < ApplicationRecord
    has_and_belongs_to_many :deals
 end

и

 class Project < ApplicationRecord
     has_and_belongs_to_many :rentals
 end

Rentals имеет страницу show.html.erb, которая является общедоступной и предварительно посеянной на основании данных об аренде квартиры (например, localhost:3000/rentals/1).Когда пользователь вошел в систему, я хочу, чтобы он добавил Rental, который он просматривает (например, id:1), к определенному Project.Я наблюдал за railscast и настраивал ассоциации.

Каков наилучший способ построить поле выбора из всех Projects, связанных с пользователем, для отображения на Rental show.html.erb и добавить запись в Rental и Project JoinTable?Должна быть какая-то работа с Контроллером и Просмотром, но я не могу публиковать записи в этой Присоединяемой Таблице Арендных Проектов.

РЕДАКТИРОВАТЬ, Я ИЗУЧИЛ РЕШЕНИЕ

Что я в итоге сделалбыло следующее:

1) В представлении, используя options_from_collection_for_select, обернутый в тег формы,: method =>: patch дал мне параметры

2) В файле Routes я создалдобавив новую запись в ресурс rentals, на который я ссылался в представлении:

 resource :rentals 
     member do 
       patch 'add_to_project'
     end
 end

и 3) в контроллере аренды, я добавил следующее в новый метод add_to_project, который получил идентификатор опции проектаиз поля выбора в представлении, и добавили его в коллекцию следующим образом:

project.rentals << прокат </p>

Спасибо за помощь всем!

...