El controlador no puede detectar solicitudes ajax
Estoy usando la gema simple_form y generando el formulario. Estoy especificando la opción remota: verdadera como esta:
<%= simple_form_for @webinar, validate: true, remote:true do |f| %>
Por lo tanto, el código HTML de salida para el formulario es el siguiente fragmento:
<form accept-charset="UTF-8" action="/webinars" class="simple_form new_webinar" data-remote="true" data-validate="true" enctype="multipart/form-data" id="new_webinar" method="post" novalidate="novalidate"> ... </form>
Como comprobé, utilizando el estándar.form_for el ayudante está agregando eldata-remote = 'true' al formulario cuandoremoto: verdadero Se utiliza opciones. Y como puede ver en el html generado, cuando estoy usando la gema simple_form, también existe ese atributo.
Entonces, en mi controlador tengo:
def create
@webinar = Webinar.new(params[:webinar])
respond_to do |format|
if @webinar.save
format.html { redirect_to @webinar, notice: 'Webinar was successfully created.' }
format.js
format.json { render json: @webinar, status: :created, location: @webinar }
else
format.html { render action: "new" }
format.json { render json: @webinar.errors, status: :unprocessable_entity }
end
end
end
Pero, siempre elformat.html se utiliza que estoy haciendo mal?
EDITAR:
He usado logger.debug request.format para verificar cuál es el formato real que se solicita y en el archivo de registro fue:
texto / html
Entonces, el problema debe estar en la forma simple_form generada. ¿Qué puede estar mal cuando tenemos "data-remote = true"?