javascript - 在 Rails 中,我发送一个 var 来查看,但在 js 文件中为 nil

标签 javascript ruby-on-rails erb

我在rails中发送一个var以在 View 中使用它,我有一个被调用的js文件名charts.js.erb,我需要在该js文件中使用var,但它是nil

在我的 Controller 中有该方法

  def index
    @asd = 'hellow'
  end

在我看来我能做到

.div= @asd

但在我的 javascript 文件中

alert('<%= @asd %>');

@asd var 为零,我已经使用其他 ruby​​ 代码进行了测试,可以工作,但 var 不起作用

最佳答案

这不是 ERB 与 JavaScript 的工作方式。 JS 文件是在运行时之前生成的,因此它们无法访问这样的动态服务器值。

我通常遵循的模式是将服务器生成的值放置在 DOM 中的某个位置,以便 JS 获取。

<div id="asd" data-asd="<%= @asd %>">

然后,如果您使用 jQuery,例如:

var asd = $('#asd').data('asd');

关于javascript - 在 Rails 中,我发送一个 var 来查看,但在 js 文件中为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836647/

相关文章:

javascript - Rails 3 不加载 .js.erb 文件

Ruby 有错误吗?导致 ActionView::Template::Error - 未定义的方法

javascript - 输入类型文本为 float ,值为 123456.12345 验证 : value can be xxx xxx . xxx xx

javascript - 使用 Jquery 删除可调整大小的 Div 的纵横比

ruby-on-rails - 重命名的 active_admin 资源的可选 belongs_to

ruby-on-rails - 嵌套表单更新操作产生重复结果

javascript - 有没有办法通过属性获取元素?

javascript - 使用 grunt 自动化 npm 和 bower 安装

ruby-on-rails - 如何从 Rails 自动加载中删除文件夹?

ruby-on-rails - 在 Rails View 中构建自定义路径