2010-08-29 10 views

Respuesta

2

Ruby no se puede ejecutar en el cliente, al menos no con complementos de navegador especializados. En su lugar, considere usar AJAX y RJS para consultar su aplicación web Ruby desde Javascript e inserte cualquier texto que regrese a su página.

Sin más información, no creo que vayas a obtener mejores respuestas. También podría estar totalmente fuera, porque solo estoy adivinando lo que realmente quieres hacer.

10
<script> 
var stuff = '<div><%=escape_javascript @ruby_var.title %></div>' 
</script> 

en su archivo .html.erb funcionará bien.

3

Puede usar el javascript_tag function para incluir Javascript en un archivo .html.erb.

Ejemplo:

javascript_tag "alert('This is a test')" 

en su foo.html.erb volverá

<script type="text/javascript"> 
//<![CDATA[ 
alert('This is a test') 
//]]> 
</script> 

al navegador.

19

Para hacer esto de manera segura es necesario utilizar a_json:

<%= javascript_tag do %> 
    var stuff = <%= @ruby_var.title.to_json %>; 
<% end %> 

Esto asegurará que su código no se romperá si @ ruby_var.title tiene una cita en ella.

Para incluir los divs que haría:

<%= javascript_tag do %> 
    var stuff = <%= "<div>#{@ruby_var.title}</div>".to_json %>; 
<% end %> 

Tenga en cuenta que no hay comillas <% =%>, a_json se encarga de eso para usted.

Cuestiones relacionadas