javascript - 使用 Javascript 变量存储 <%= %> 的 Ruby 输出
问题描述
@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);
将生成一个div
用引号括起来的正确 JS。:
tag_tracker = "div";
alert(tag_tracker);
第二个:
tag_tracker = <%= @tag %>;
alert(tag_tracker);
将生成不带引号的 JS div
:
tag_tracker = div;
alert(tag_tracker);
这是不正确的,因为在这种情况下div
被解释为变量,而不是字符串。
推荐阅读
- python - 短程序的 Python 循环问题
- java - 拆分字符串行列表并将单词添加到新列表
- git - 是否应该在 git 的 .history 文件夹中跟踪文件
- php - 如何在 Laravel 中显示通知?
- javascript - 在Javascript中按年份过滤对象
- python - 尝试在 Python 包中读取 JSON 文件
- javascript - CSS 变换: translateX(向右);
- xml - 忽略 xpath 选择器中的命名空间不起作用
- angular - 缺少 npm 对等依赖项:@angular/core@^6.0.3,videogular2@6.4.0 需要 - 它在骗我
- java - 在scrollView中绘制画布线的问题