Когда мы делаем git reset --hard, и все локальные неуправляемые изменения удаляются. Чтобы восстановить изменения - в IDE щелкните файл, сравните файл с локальной историей, в которой будут перечислены изменения в соответствии с датой, и мы сможем восстановить данные. Ваш день сохранен!
Вы не должны обновлять в действии редактирования, это действие только для отображения формы. Удалите строку
@product.update(product_parameters)
из действия редактирования.
product_parameters
должно быть с обязательной деталью для корректного обновления продукта
Удалить продукт обновления со страницы редактирования.
def edit
@message = Message.new
@message.build_company
@categories = Category.all
end
Метод product_parameters должен быть.
def product_parameters
params.require(:product).permit(:id, :name, :description, :picture,
:product_spec_id)
#params.require(:product).permit! for permitting all attributes.
end
Вы получаете эту ошибку, потому что вы пытаетесь обновить метод редактирования, который недопустим. В методе редактирования, как вы можете получить разрешенные параметры? если не передано никаких параметров.
Каждое действие само по себе является шаблоном, если оно не отображается в другом шаблоне.
Итак, products#edit
=> products/edit.html.erb
В edit.html.erb
содержатся предварительно заполненные данные, точно поступающие из действия products_controller's
edit
-
после отправки правки данные формы будут отправлены действию update
и обновят данные о действии products#update
.
Таким образом, обновление происходит во время действия обновления, а не действия редактирования, т.е.
def edit
@message = Message.new
@message.build_company
@categories = Category.all
#@product.update(product_parameters)
end