我有一个.html.erb文件,里面有一些javascript.我想做这样的事情:
var stuff = '<div><%= @ruby_var.title %></div>'
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?我可能完全离开...谢谢.
Yon*_*ciu 22
要安全地执行此操作,您需要使用to_json:
<%= javascript_tag do %>
var stuff = <%= @ruby_var.title.to_json %>;
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果@ ruby_var.title中有引号,这将确保您的代码不会中断.
要包括我会做的div:
<%= javascript_tag do %>
var stuff = <%= "<div>#{@ruby_var.title}</div>".to_json %>;
<% end %>
Run Code Online (Sandbox Code Playgroud)
请注意,<%=%>周围没有引号,to_json会为您处理.
rob*_*ana 11
<script>
var stuff = '<div><%=escape_javascript @ruby_var.title %></div>'
</script>
Run Code Online (Sandbox Code Playgroud)
在你的.html.erb文件中工作正常.
Ruby 不能在客户端运行,至少不能使用专门的浏览器插件。相反,请考虑使用 AJAX 和 RJS 从 Javascript 查询 Ruby Web 应用程序,并将其返回的任何文本插入到您的页面中。
如果没有更多信息,我认为您不会得到更好的答案。我也可能完全不在意,因为我只是猜测你真正想做的事情。
| 归档时间: |
|
| 查看次数: |
30966 次 |
| 最近记录: |