Peter en realidad publicó la respuesta correcta. Pero intentaré elaborar:
Supongo que está familiarizado con el concepto básico de ajax. Digamos que quieres ser capaz de crear comentarios de forma ajaxy. En los carriles puede responder a POSTAL peticiones en su CommentsController
a través de:
def create
@comment = Comment.new(params[:comment])
respond_to do |format|
render.js
end
end
Esto significa que si una petición AJAX desde el cliente (a través de jQuery/Javascript) se presenta a la CommentsController
que reconocerá el formato (.js
) y responde con el _create.js.erb parcial. El parcial sería entonces hacer que el comentario con algo como esto:
$('.comments').append("<%=j render @comment %>");
Ahora para llegar a la J o escape_javascript método: Algunos mal usuario puede enviar un comentario que contiene JavaScript (maliciosa), que haría ser ejecutado en su página menos que haga uso del método j
cuales
retornos de carro se escapa y comillas simples y dobles para JavaScript segmentos.
y por lo tanto impide la ejecución del código en el navegador.
Tenga en cuenta que, incluso si lo que está procesando no es creado por el usuario, probablemente todavía desee escapar de los caracteres que no son seguros para JavaScript porque de lo contrario su javascript podría romperse. – DaveMongoose