Ruby on rails:在Html.erb中使用<%=%>标记中的javascript变量

我试图在<%=%>中使用插入 Javascript变量标签,但它打印变量名称详细.这是我的代码
<script>
     function getGraph(agency,device_id)
      {
            var i = document.createElement('img'); 
            i.src = '<%= show_graph_hcfcd_url('device_id') %>'; 
            $(graphdiv).appendChild(i); 
      }
</script>

现在问题是URL生成得很好,除了而不是device_id的值,’device_id’出现在其余的url中.

任何线索如何克服这个?

解决方法

<%=%>将解释服务器上的代码

和javascript变量可在客户端上更改.这样做

<%= show_graph_hcfcd_url('device_id') %>

可能不是这样做的正确方法.

您可能想要尝试将url(s)放在元素的数据属性中:

<div id="device_id" data-url="<%= show_graph_hcfcd_url(@device.id) %>">...</div>

<script>
     function getGraph(agency,device_id)
      {
            var i = document.createElement('img'); 
            i.src = $(device_id).data("url"); 
            $(graphdiv).appendChild(i); 
      }
</script>

也看到了

http://railscasts.com/episodes/324-passing-data-to-javascript

一个很好的宝石来做这个叫做“gon”

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...