@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/