Как мне исправить мою форму редактирования от редактирования всех статей в моей базе данных в Ruby / Rails? - PullRequest
1 голос
/ 06 апреля 2019

Я следую руководству Начало работы с Ruby on Rails и столкнулся с проблемой при редактировании / обновлении статьи в базе данных.Я создал форму и получил ссылку из индекса и определил все методы в контроллере в соответствии с инструкциями руководства (см. Код в ссылках на pastebin).Однако, когда я нажимаю кнопку «Обновить статью» в представлении редактирования и возвращаюсь к индексу, вместо того, чтобы обновлять только одну статью, обновляются все.

Я прошел код ииз того, что я могу сказать, он идентичен коду из руководства, поэтому я не уверен, почему я получаю для них разные результаты.

Articles_controller.rb

index.html.erb

edit.html.erb

Я думаю, что ошибка в этой строке, поскольку, возможно, она не проходитпараметр id правильно или что-то?

<%= form_with(model: @article, local: true) do |form| %>

Из того, что я могу сказать, я передаю конкретную статью после нахождения ее в определении редактирования в контроллере в представление редактирования.Затем форма отправляет запрос PATCH на сервер в / article /: id, который будет обрабатываться определением обновления в контроллере.Это обновление просто найдет его и обновит его параметры по заданному объекту статьи, а затем выведет в представление представления или отобразит ошибки, если они каким-то образом не соответствуют проверке модели.

1 Ответ

1 голос
/ 06 апреля 2019

Не могли бы вы изменить объект из модели основного товара на объект экземпляра (@article)?Обновление работает на одном объекте.

if Article.update(article_params) 

до

if @article.update(article_params)
...