ActionController::UnknownFormat (ActionController::UnknownFormat): al eliminar
Estoy intentando eliminar un registro, tengo 3 menús para listar registros. Entonces, después de eliminar un registro, debería redireccionar al mismo menú desde donde hice clic en el método de eliminación.
Pero cuando lo intenté, obtuve este error.
ActionController::UnknownFormat (ActionController::UnknownFormat): app/controllers/my_controller.rb:56:in 'destroy'
Enlace de eliminación:
<a href="<%=my_path(data,:page_name=>params[:action])%>" class="btn" data-placement="bottom" title="Eliminar" data-method="delete" data-confirm="¿Estás seguro?">
<i class="fa fa-trash-o" aria-hidden="true"></i>
</a>
Método de eliminación:
def destroy
@page.destroy
respond_to do |format|
if params[:page_name] == "first"
format.html { redirect_to first_home_index_path, notice: 'La URL se eliminó con éxito.' }
elsif params[:page_name] == "second"
format.html { redirect_to second_home_index_path, notice: 'La URL se eliminó con éxito.' }
elsif params[:page_name] == "third"
format.html { redirect_to third_home_index_path, notice: 'La URL se eliminó con éxito.' }
end
format.json { head :no_content }
end
end
davy.ai
El error
ActionController::UnknownFormat
suele ocurrir cuando la acción del controlador no puede responder a un formato de archivo o tipo MIME desconocido. En tu caso, puede ser que la solicitud realizada por el enlace de eliminación no haya especificado el formato, y el controlador no puede manejarlo.Para solucionar este error, puedes modificar el enlace de eliminación para especificar el formato de la solicitud. Por ejemplo, cambiar el enlace a lo siguiente debería funcionar:
Aquí, hemos agregado
format: :html
para especificar que queremos la respuesta en formato HTML.Además, también puedes agregar un formato predeterminado a tu bloque
respond_to
para manejar los formatos desconocidos:Aquí, hemos agregado
format.any
para especificar que cualquier formato desconocido debe redirigir al camino raíz con una notificación.