Coffeescript 未在 rails 应用程序中编译。说语法错误 - 意外缩进
Coffescript not compiling in rails app. Says syntax error - unexpected indentation
我是 coffeescript 的新手,我不确定我的语法有什么问题。如果单击更新按钮时日期或时间字段为空,我想添加一条错误消息。这是我的代码。
$.add_error = (field, message) ->
unless field.hasClass('input-error')
field.after('<span class="input-error-message">' + message + '</span>')
field.addClass('input-error')
$.remove_error = (field) ->
field.removeClass('input-error')
field.parent().find('.input-error-message').remove()
$('.btn.update_schedule').click ->
date = $('#date')
time = $('#time')
if (date.val() && !time.val()) || (!date.val() && time.val())
if !time.val()
$.add_error(repeat_count, 'Please select both a date and time')
false
else !date.val()
$.add_error(repeat_date, 'Please select both a date and time')
false
else
$.remove_error(time) || $.remove_error(date)
我无法编译这段代码,因为它说有一个意外的缩进,但我没有看到它。任何建议将不胜感激。
在最后一个区块$('.btn.update_schedule').click ->
中,有一个
if ... else ... else ...
这基本上是胡说八道。
似乎应该改为
if ... else if ... else ...
这似乎是正确的版本:
$('.btn.update_schedule').click ->
date = $('#date')
time = $('#time')
if (date.val() && !time.val()) || (!date.val() && time.val())
if !time.val()
$.add_error(repeat_count, 'Please select both a date and time')
false
else if !date.val()
$.add_error(repeat_date, 'Please select both a date and time')
false
else
$.remove_error(time) || $.remove_error(date)
我是 coffeescript 的新手,我不确定我的语法有什么问题。如果单击更新按钮时日期或时间字段为空,我想添加一条错误消息。这是我的代码。
$.add_error = (field, message) ->
unless field.hasClass('input-error')
field.after('<span class="input-error-message">' + message + '</span>')
field.addClass('input-error')
$.remove_error = (field) ->
field.removeClass('input-error')
field.parent().find('.input-error-message').remove()
$('.btn.update_schedule').click ->
date = $('#date')
time = $('#time')
if (date.val() && !time.val()) || (!date.val() && time.val())
if !time.val()
$.add_error(repeat_count, 'Please select both a date and time')
false
else !date.val()
$.add_error(repeat_date, 'Please select both a date and time')
false
else
$.remove_error(time) || $.remove_error(date)
我无法编译这段代码,因为它说有一个意外的缩进,但我没有看到它。任何建议将不胜感激。
在最后一个区块$('.btn.update_schedule').click ->
中,有一个
if ... else ... else ...
这基本上是胡说八道。
似乎应该改为
if ... else if ... else ...
这似乎是正确的版本:
$('.btn.update_schedule').click ->
date = $('#date')
time = $('#time')
if (date.val() && !time.val()) || (!date.val() && time.val())
if !time.val()
$.add_error(repeat_count, 'Please select both a date and time')
false
else if !date.val()
$.add_error(repeat_date, 'Please select both a date and time')
false
else
$.remove_error(time) || $.remove_error(date)