javascript - 使用 Javascript 变量存储来自 <%= %> 的 Ruby 输出

标签 javascript ruby-on-rails ruby erb

@tag 是一个字符串。

为什么这样做:

tag_tracker = "<%= @tag %>";
alert(tag_tracker);

但不是这个?

tag_tracker = <%= @tag %>; // Why is this not read as a string?
alert(tag_tracker);

提前致谢!

最佳答案

如果您的 ERB 文件中有 JS,您需要确保生成的 javacript 代码是正确的。

假设您有一个字符串 "div" 存储在 @tag

第一个选项:

tag_tracker = "<%= @tag %>";
alert(tag_tracker);

将生成正确的 JS,其中 div 包含在引号中。:

tag_tracker = "div";
alert(tag_tracker);

第二个:

tag_tracker = <%= @tag %>;
alert(tag_tracker);

将在 div 周围生成不带引号的 JS:

tag_tracker = div;
alert(tag_tracker);

这是不正确的,因为在这种情况下 div 被解释为变量,而不是字符串。

关于javascript - 使用 Javascript 变量存储来自 <%= %> 的 Ruby 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54111188/

相关文章:

ruby-on-rails - Rails 和 Postgres : Finding items that are a "good deal"

ruby - 在 Ruby 中将嵌套数组转换为嵌套哈希

javascript - 调用对象内部的方法

JavaScript 方法有效和无效

javascript - 如何在ajax更新div中进行计算?

ruby-on-rails - Rails 3-如何从带有订单的模型中获取行号

javascript - 根据属性值过滤 div jquery/javascript

javascript - jQuery - 使用已弃用的toggle() 更新函数

ruby-on-rails - Ruby on Rails Select As 不起作用

Ruby sleep 或延迟不到一秒?