Имеет и принадлежит многим POST-запросам Rails API - PullRequest
0 голосов
/ 26 апреля 2018

В настоящее время у меня есть приложение ReactJS, связывающееся с Rails 5 API.

В рамках этого приложение React отправляет один запрос JSON POST на api/v1/job, чтобы создать новую запись задания. Этот запрос включает информацию о двух отношениях HABTM с инструментами и технологиями.

Job - has_and_belongs_to_many :technologies

Job - has_and_belongs_to_many :tools

Как мне обновить соответствующие таблицы соединений в моем контроллере rails с помощью идентификатора, связанного с заданиями, технологиями и инструментами?

Запрос выглядит следующим образом, где номера являются идентификаторами:

{
   "job" : {
     ...
     "technologies" : [ "1", "6", "9" ],
     "tools" : [ "3", "5" ],
     ...
   }
}

Стоит отметить, что запрос отправляется как POST-запрос axios с данными JSON, поэтому традиционные поля формы отсутствуют.

Я также могу успешно получить доступ к параметрам в моем контроллере, как, например, @technologies = params[job][technologies], я просто не уверен в следующем шаге для создания записи:)

1 Ответ

0 голосов
/ 26 апреля 2018

Я в итоге получил следующее

@job['technology_list'].each do |tech|
    technology = Technology.find(tech['id'])
    @new_job.technologies << technology
end

В этом случае @new_job - это задание, которое было только что создано в контроллере.

...