gpt4 book ai didi

javascript - rails : "null" instead of an array with 3 elements when trying to use ruby array in javascript

转载 作者:行者123 更新时间:2023-12-03 01:12:37 25 4
gpt4 key购买 nike

我有这个代码片段:

在我的app/assets/javascripts/application.js

//= require jquery
//= require harddisk
//= require rails-ujs
//= require_tree .

在我的应用程序/assets/javascripts/harddisk.js.erb

  var harddisk_locations = [<%= raw @harddisk_locations.to_json %>];
console.log(harddisk_locations);

在我的应用程序/models/harddisk.rb中

@harddisk_locations = ["foo", "bar", "baz"];

但由于某种原因在浏览器控制台的硬盘页面上

@harddisk_locations 为 null,而不是具有 3 个元素的数组。

为什么会这样以及如何解决?

如果我移动它也没有帮助

@harddisk_locations = ["foo", "bar", "baz"];

从硬盘模型到harddisks_controller.rb

最佳答案

您应该将它们定义为全局变量而不是实例变量。您可以将模型代码更改为:

HD_LOCATIONS = ['foo', 'bar', 'baz']

在你的 JS 文件中:

var harddisk_locations = [<%= raw Harddisk::HD_LOCATIONS.to_json %>];

您可以在此处阅读有关变量类型的更多信息:https://www.tutorialspoint.com/ruby/ruby_variables.htm

关于javascript - rails : "null" instead of an array with 3 elements when trying to use ruby array in javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52150968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com