我试图在<%=%>中使用插入
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”