簡體   English   中英

紅寶石代碼中的Javascript變量

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM