Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不顾ruby条件语句执行Javascript_Javascript_Jquery_Ruby On Rails_Ruby_Conditional Statements - Fatal编程技术网

不顾ruby条件语句执行Javascript

不顾ruby条件语句执行Javascript,javascript,jquery,ruby-on-rails,ruby,conditional-statements,Javascript,Jquery,Ruby On Rails,Ruby,Conditional Statements,我遇到了一个小问题,javascript代码在执行时不考虑ruby条件语句 尽管两个JS都在执行,但只显示正确的HTML应答器。(如果注意,我只会看到,如果是错误,我只会看到,但是无论发生什么,里面的javascript都会被执行) 我肯定错过了一些明显的东西,但我似乎找不到它是什么 非常感谢您的帮助试试这个。我修正了一些缩进 - if notice .row %div{role: 'notice'} :javascript $(function () {

我遇到了一个小问题,javascript代码在执行时不考虑ruby条件语句

尽管两个JS都在执行,但只显示正确的HTML应答器。(如果注意,我只会看到
,如果是错误,我只会看到
,但是无论发生什么,里面的javascript都会被执行)

我肯定错过了一些明显的东西,但我似乎找不到它是什么


非常感谢您的帮助

试试这个。我修正了一些缩进

- if notice
  .row
    %div{role: 'notice'}
      :javascript
        $(function () {
          toastr.success('#{notice}','Success')
        })

- if alert
  .row
    %div{role: 'alert'}
      :javascript
        $(function () {
          toastr.error('#{alert}','Error')
        })

JS似乎没有什么问题,它是由您的本地VAR发出警报和通知的。在每个if语句中添加Rails.logger.info语句,例如“Rails.logger.info(“内部警报:{alert}”)`,您将看到它在两个地方都起作用。检查
=notice
=alert
语句(以haml打印值)的情况。将
通知
警报
替换为false,以检查您是否在家。谢谢大家的建议。另一个变量确实是空的,但当我在JS调用中删除$(function(){)时,问题得到了某种程度的纠正。您好,谢谢您的回复,您的格式工作正常,我只需要在调用中删除$(function(){和})。再次感谢
- if notice
  .row
    %div{role: 'notice'}
      :javascript
        $(function () {
          toastr.success('#{notice}','Success')
        })

- if alert
  .row
    %div{role: 'alert'}
      :javascript
        $(function () {
          toastr.error('#{alert}','Error')
        })