【发布时间】:2015-04-10 16:30:13
【问题描述】:
我正在尝试将数据从控制器传递到 javascript。你就是这样做的,
respond_to do |format|
format.html
format.json { render json: {data: @data} }
end
然后在你的视图文件中,你应该这样做:
<%= javascript_tag do%>
window.data = <%= raw @data.to_json %>
<%end%>
<script>
for( i = 0; i < data.length; i++ ) {
alert(data[i]);
}
</script>
有道理。对吧?
但是,上面的代码是当您在 json 代码中仅传递一个变量时,即数据变量。我需要做的是将多个变量传递给我的 javascript 代码。
应该这样做:
respond_to do |format|
format.html
format.json { render json: {data: @data, data1: @data1, data2: @data2} }
end
现在, - 我应该如何访问视图文件中的 data1 和 data2 变量? - 我需要修改window.data吗?我尝试了下面的代码,但没有成功。给我参数错误。
<%= javascript_tag do%>
window.data = <%= raw @data.to_json, @data1.to_json %>
<%end%>
任何线索将不胜感激。
干杯!
【问题讨论】:
标签: javascript ruby-on-rails json ruby-on-rails-4