我一直在尋找無處不在,並嘗試每一個建議,我可以找到這個,但它仍然無法正常工作。基本上,我試圖把所輸入的內容分解成單獨的單詞,然後讓每個單詞成爲一個鏈接。我試圖從數據庫中獲取一個值並將其傳遞給javascript,以便我可以在JavaScript中爲該值賦予一個變量。下面是代碼:從控制器分配一個JavaScript變量的ruby變量
控制器:
def show
@icelandic_reader = IcelandicReader.find(params[:id])
@icelandic_reader_json = @icelandic_reader.text.to_json;
respond_to do |format|
format.html # show.html.erb
format.json { render json: @icelandic_reader }
end
end
在.js.erb文件:
window.onload = function() {
var myText = <%= @icelandic_reader_json %>;
console.log("test1");
var words = myText.split(" ");
console.log("test2");
var numWords = words.length;
var textToInsert;
for (var i = 0; i < numWords; i++) {
console.log("inside for loop");
textToInsert += "<a href=#>" + words[i] + "</a>" + " ";
}
document.getElementById('icelandic_reader_text').innerHTML = textToInsert;
}
我沒有得到任何錯誤,但我沒有看到任何的我的測試控制檯日誌出現。我已經嘗試了各種方法,我已經找到了如何分配ruby變量,但它不會工作。我有紅寶石3.2.6。謝謝!
在'var numWords = lines.length'你在哪裏設置'lines' – 244an
謝謝,我修正了這個問題,我在發佈前重命名了一些東西,並錯過了它。但是,它並沒有解決問題。我甚至覺得它沒有通過第一行,因爲我從來沒有在控制檯中看到「test1」。 – nielsene54
你必須用'''包圍文本? (如果是文本) – 244an