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

前端之家收集整理的这篇文章主要介绍了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”

猜你在找的Ruby相关文章