JS:
$(this).attr({
src: "<%= asset_path("\\$hoverClass"'-red.jpg') %>"
});
这将输出 /assets/$hoverClass-red.jpg 而不是 /assets/sports-red.jpg('sports' 是 $hoverClass 的值)。
JS:
$(this).attr({
src: "<%= asset_path("\\$hoverClass"'-red.jpg') %>"
});
这将输出 /assets/$hoverClass-red.jpg 而不是 /assets/sports-red.jpg('sports' 是 $hoverClass 的值)。
Ruby 不会像这样插入字符串。你的意思是这样的:
<%= asset_path("#{$hoverClass}-red.jpg") %>
需要注意的是,$
在 Ruby 中使用 -prefixed 变量通常是不好的形式,因为这意味着您要在全局范围内声明它们。这不可避免地会导致名称冲突、无意的数据持久性以及许多其他难以确定的问题。尽可能使用@
-prefixed 实例变量。
你也可以像这样实现:
$(this).attr(<%= { src: asset_path("#{$hoverClass}-red.jpg") }.to_json %>);
这通常更可靠,因为为您完成了正确的 JSON 转义。