Tengo problemas con rails3 para representar Javascript (si esto es relevante, uso JQuery y funciona bien ya que se usa en muchas otras partes de la aplicación) en lugar de html.Rails Ajax: .js.erb representado como texto, no como JS
Lo que tengo: me miras, tengo este enlace:
<%= link_to 'Edit', edit_user_repreneur_path(@user_repreneur, :format => :js), :remote => true %>
En primer lugar, yo realmente no entiendo por qué tengo que añadir: format => JS para obtener el controlador para usar la vista JS, y no la HTML. Aquí está el código del controlador:
def edit
@user_repreneur = UserRepreneur.find_by_id_view(params[:id])
respond_to do |format|
format.js
format.html
end
end
Al comienzo de la clase del controlador, tengo esta línea:
respond_to :js, :html
Mi archivo edit.js.erb contiene una sola línea con una alerta . Sin embargo, al representar la página, el JS se representa como texto y, por lo tanto, no se ejecuta. He intentado cambiar la línea format.js a
format.js { render :layout => false }
Pero eso no cambia nada. Supongo que me falta algo, pero realmente no veo qué ...
Muchas gracias de antemano, ¡salud!
PD: No sé si esto es útil, pero antes de agregar el formato: format =>: js bit en mi ayudante de enlace, la vista siempre se representaba como HTML, y si comenzaba la línea format.html , Tuve un error 406 No aceptable en el servidor.
¿Es realmente enviado por una solicitud de AJAX? puede verificar en la consola o en la consola Firebug –
tener respond_to: js,: html al comienzo del controlador significa que está anticipando el uso de responder_con en sus acciones (en lugar de responder_a). Me pregunto si esta redundancia podría estar causando problemas. ¿Ha intentado borrar esa primera línea en el controlador? tampoco debería necesitar agregar: format =>: js a la vista –
En la consola de Chrome, cuando hago clic en el enlace veo una solicitud GET, con un código de respuesta 304 y un tipo de texto/javascript. Además, comentar la línea en el controlador no cambia nada, ¡pero gracias por la información :)! Sé que no debería necesitar especificar el formato en la vista, pero de lo contrario siempre hace que HTML ... extraño. – Elhu