我正在尝试将 js.erb 文件中的 ruby 数组转换为 js 数组。我已经在堆栈溢出中检查了有关此问题的所有问题,但它对我不起作用。
这是函数
function c(c) {
js_array = <%= raw @keys.to_json %>;
b.selection.remove(), b.html.insert('js_array[0]');
}
它抛出错误Uncaught TypeError: Cannot read property '0' of null
我还在学习 js,所以我不确定这里出了什么问题
ruby @keys 数组中肯定有数据,因为我将其打印在同一页上。
如果我将数组更改为 js_array = ['gwfe', 'efw', 'efwe'];
它工作正常。这让我相信在尝试将 ruby 数组转换为 js 数组时出现了问题。
最佳答案
我假设,您正在从数据库或本地获取@keys数据。你能尝试一下gon gem将值从 ruby 传递到 js。这是 Railscast 教程:http://railscasts.com/episodes/324-passing-data-to-javascript?view=asciicast
看看这是否有效。
请告诉我。
关于javascript - Rails 上 .js.erb 文件中的 Ruby 数组到 js 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34845582/