如何在JavaScript中嵌入Ruby(Rails + .html.erb文件)

我有一个.html.erb文件,里面有一些javascript。 我想做这样的事情:

var stuff = '
'

做这个的最好方式是什么? 我可能完全离开…谢谢。

要安全地执行此操作,您需要使用to_json:

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

如果@ ruby​​_var.title中有引号,这将确保您的代码不会中断。

要包括我会做的div:

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

请注意,<%=%>周围没有引号,to_json会为您处理。

  

在你的.html.erb文件中工作正常。

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

例:

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

在你的foo.html.erb中将返回

  

到浏览器。

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

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