javascript - rails slim template: Uncaught SyntaxError: Unexpected token if
问题描述
我有一个苗条的模板previews.slim
= render 'previews/demo_areas/skinny_demo_area', p_unit: @p_unit, size: 2
我在该文件上添加了 javascript:
javascript:
var rotationIndex = 0;
var auto_rotate = #{@p_unit.auto_rotate_highlight};
- if auto_rotate
rotateTextOverAds();
function rotateTextOverAds() {
var size_300x250_ads = $('.carousel_ad_unit.size_9700x250 .ad .ad-details');
$('.carousel_ad_unit.size_9700x250 .ad').each(function () {
$(this).find('.ad-details').hide();
});
rotationIndex += 1;
if rotationIndex > size_300x250_ads.length
rotationIndex = 1;
size_300x250_ads[rotationIndex - 1].style.display = 'block';
setTimeout(rotateTextOverAds, 2000)
}
基于rails实例变量@p_unit.auto_rotate_highlight
属性,我想运行一个函数。但是当我加载页面时,我的浏览器一直显示:
Uncaught SyntaxError: Unexpected token if
我该如何解决这个问题?
解决方案
如果条件如下所示,您在 javascript 中混合了 javascript 语法和 ruby(slim) 语法:
if (condition) {
// some code here
}
推荐阅读
- virtualhost - 设置 cloudflare 虚拟主机后 Cloudant 基本身份验证不起作用
- php - Laravel 从数据库中动态填充复选框列表
- jquery - 如何在 th 标签内的 div 标签中垂直对齐文本?
- sql - 查找前一个值的 SQL 脚本,不一定是前一行
- swift - Swift 从类型引用中获取结构属性
- java - 在 Vaadin 中绑定 TwinColSelect
- python - 合并两个带有多个工作表的excel文件而不会丢失格式
- javascript - JavaScript 中的“return {}[]”是什么意思?
- angular - (Angular) 启用 HTML5 模式
- ssl - 手动安装 curl 找不到 openssl