[英]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.