У меня есть две модели с отношением 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>
Спасибо за помощь всем!