[英]How do I include ruby variables in javascript in Rails 4?
我有一个rails应用程序,它提供了许多视图,其中包括来自数据库的特定数据,这些数据将由一些javascript操作,特别是用于Chartjs。
我探讨的选项是:
<script>
标记,只需让ERB插入变量即可。 这似乎有点hacky,绝对没有利用我所有美丽的haml。 但它很容易,并允许我在页面上放置javascript变量,然后可以在document.onload之后获取。 我觉得解决方案应该涉及资产管道和某种轨道插值,但我似乎无法使这项工作非常干净。 什么是优雅的轨道4解决这个问题?
感谢大家!
有很多方法可以将数据从服务器端传递到javascript,我将在下面列出两种最常见的(不使用gem或其他外部工具):
使用您描述的第二种方法,并在javsacript中插入ERB标记。 这是丑陋的,hacky,甚至没有接近最佳实践。
使用数据属性。 您可以修改HAML以包含其他属性,例如“data-my-variable”,并通过javascript访问它(例如使用jQuery: $(element).data("my-variable")
)。
在我看来,数据属性方法是最干净的方法,它正是数据属性的目的。
现在,我不知道HAML,我之前只和ERB合作,但是我发现了Mandeep的这个答案 ,它解释了如何向HAML添加数据属性:
%a{"data-my-variable" => "my data", href: "#"}
要么
%a{href: "#", :data => {:my_variable => "my data"}}
编辑 :对不起,我发现你的问题以及其他更新的问题,我只是假设它是最近的,而不是一年多以前:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.