Цель: иметь уникальное сообщение для каждого параметра или набора параметров.
У меня есть этот код в моем обновлении контроллера:
def update
@order = Order.find(params[:id])
respond_to do |format|
if @order.update_attributes(order_status)
# if @order.changed == [:order_status]
format.html { redirect_to @order, notice: 'Order was successfully cancelled.' }
format.json { render :show, status: :ok, location: @order }
# else
# format.html { render :edit }
# format.json { render json: @order.errors, status: :unprocessable_entity }
# # end
# end
elsif @order.update(order_params)
format.html { redirect_to @order, notice: 'Order was successfully updated.' }
format.json { render :show, status: :ok, location: @order }
else
format.html { render :edit }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
private
def order_params
params.require(:order).permit(:name, :name_2, :email, :phone_number)
end
def order_status
params.require(:order).permit(:order_status)
end
Хотя, независимо от того, какой параметр я обновляю, я всегда получаю сообщение «Заказ был успешно отменен», даже если я вообще не обновляю :order_status
.
Я пыталсямного много комбинаций, но я не могу получить уникальное сообщение для работы.Все еще обновляется, только не с сообщениями, которые я хочу.Я пытался не использовать elsif
, не определять @order
, другие заказы, пользователя .update
и .update_attributes
, использовать @order.update(params[:order_status])
и т. Д.
Что я могу сделать здесь, чтобы получать пользовательские сообщения?