Я пытался перенаправить на другую страницу после редактирования записи, я предположил, что она использует код обновления, потому что вы обновляете базу данных. Мне потребовалось некоторое время, чтобы понять, что я использовал неправильное действие в контроллере. Может кто-нибудь объяснить, как работают редактирование и обновление. Почему существуют два разных действия? каковы различия между ними?
Restful Rails Edit vs Update
Ответ 1
действие редактирования отвечает за отображение представления
действие обновления отвечает за взаимодействие с моделью (обновления db и т.д.)
Если вы запустите rake routes
, вы увидите разницу между глаголом и действием. Как правило, при создании формы используются действия create/update. Это отличается от новых действий и действий редактирования, поскольку они используются для визуализации представления (которое отображает форму, которая должна быть отправлена).
Ответ 2
Другая перспектива - немного избыточная, чтобы выделить сходства и различия:
Новый - это действие предшественника для визуализации формы, которая при отправке запускает действие Создать. (вид, как правило, перенаправляется обратно в индексный вид, отображающий список похожих элементов, которые вы уже создали )
Изменить - это действие предшественника для визуализации формы, которое при отправке запускает действие Обновить. (вид, как правило, перенаправляется обратно в индексный вид, отображающий список похожих элементов, которые вы уже создали )