[英]Javascript variables in ruby code
在我的RoR项目中,我得到了html页面,在这里我使用javascript更改了div的背景图像。 Javascript函数向我发送了索引,我想使用该索引来获取ruby数组的元素。
查看我的代码
function drawNewProject (index){
console.log(<%= 'index' %>)
<% index = 'index' %>
<% @existProjects = Admin::Project.order('weight') %>
<% @existProject = @existProjects[index] %>
var image = document.getElementById('block_one')
image.style.backgroundImage="url('<%= @existProject.image(:large) %>')";
}
但是这条线
<% @existProject = @existProjects[index] %>
给我错误
no implicit conversion of String into Integer
你知道该怎么做吗? 谢谢
您必须认为<%= erb %>
块在发送到浏览器之前已在服务器中执行,并且一旦运行,就运行javascript。
您的浏览器不知道ruby或php或其他任何内容……它只是接收html和js(无论是静态文件还是动态生成的js)并运行它。
这意味着必须在渲染时知道所有数据。 如果您的应用程序依赖于动态数据或用户交互,则必须执行ajax请求并使用正确的js传递回调用,以由浏览器运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.