我需要从数据库中获取数据并将其传递到我的Rails 5应用程序中的JavaScript文件中。
在我的控制器中,我创建了一个变量,如下所示:
@this_anomaly = Anomaly.find_by_id(2)
我显然可以通过以下方式访问它以及在我看来:
<%= @this_anomaly.started_at %>
但是我需要将相同的数据放入我的javascript文件中,该文件用于在D3中绘制图形以注入到视图中。如何通过?
不确定从哪里开始,谢谢!
答案 0 :(得分:0)
您可以像这样在html.erb中声明您的javascript变量
var started_at = <%= @this_anomaly.started_at %>
答案 1 :(得分:0)
一种选择是将数据放入HTML的He
属性中
data
然后在您的js文件中
<div data-started-at=<%= @this_anomaly.started_at %> data-for-d3-graphics></div>
我不确定这是否是let value = $('div[data-for-d3-graphics]').data('started-at');
文件的确切语法,但是您知道了
答案 2 :(得分:0)
所以我尝试过的一种有效方法(因为我使用的是d3)是使用以下命令在html.erb中请求数据:
<div id="anomaly_data">
<%= @this_anomaly.started_at %>
</div>
然后在我的js文件中,使用d3.select将其存储在变量中:
var anomaly = d3.select("#anomaly_data").text();
哪个工作并且可以不经过任何处理就获得日期/时间/等给我!但是,必须有更好的方法吗?