【发布时间】:2015-11-26 20:49:35
【问题描述】:
我在执行 javascript 代码时遇到了一个小问题,不考虑 ruby 条件语句。
尽管两个 JS 都在执行,但只显示了正确的 HTML 应答器。 (如果注意到,我只会看到<div role="notice">,如果是错误,我只会看到<div role="alert">,但无论如何肯定会执行里面的javascript)
- if notice
.row
%div{role: 'notice'}
:javascript
toastr.success('#{notice}','Success')
})
- if alert
.row
%div{role: 'alert'}
:javascript
$(function () {
toastr.error('#{alert}','Error')
})
我一定遗漏了一些明显的东西,但我似乎找不到它是什么。
非常感谢您的帮助
【问题讨论】:
-
似乎不是 JS 的问题,它与您的本地变量有关,以获取警报和通知。在每个 if 语句中添加 Rails.logger.info 语句,例如'Rails.logger.info("Inside alert: #{alert}")`,你会看到它在两个地方都有效。
-
检查
= notice和= alert语句发生了什么(打印出haml 中的值)。将notice和alert替换为false 以检查您是否在家。 -
感谢大家的建议。另一个变量确实是空的,但是当我在 JS 调用周围删除 $(function () { 时,问题得到了某种纠正。
标签: javascript jquery ruby-on-rails ruby conditional-statements