2010-08-29 67 views

回答

2

Ruby不能在客户端运行,至少不能使用专门的浏览器插件。相反,看看使用AJAX和RJS从Javascript查询您的Ruby Web应用程序,并将它返回的任何文本插入到您的页面中。

没有更多的信息,我不认为你会得到更好的答案。我可能完全不在,因为我只是在猜测你真正想做什么。

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

您的.html.erb文件将正常工作。

3

您可以使用javascript_tag function将Javascript包含在.html.erb文件中。

例子:

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

在foo.html.erb将返回

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

到浏览器。

19

要安全地做到这一点,你需要使用to_json:

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

这将确保,如果@ ruby​​_var.title中有报价代码不破。

要包含的div我会做:

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

注意身边有<%没有引号=%>,to_json需要照顾的那个你。

相关问题