使用 Javascript 变量存储来自 <%= %> 的 Ruby 输出
Using Javascript variables to store Ruby Output from <%= %>
@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);
将生成不带引号的 JS div
:
tag_tracker = div;
alert(tag_tracker);
这是不正确的,因为在这种情况下 div
被解释为变量,而不是字符串。
@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);
将生成不带引号的 JS div
:
tag_tracker = div;
alert(tag_tracker);
这是不正确的,因为在这种情况下 div
被解释为变量,而不是字符串。