Haml多行注释和if-elsif-else语句

时间:2014-11-18 18:10:49

标签: ruby-on-rails comments haml

我有以下代码。

- if specializations.count <= 0
  .alert.alert-warning
    Warning message

-# - elsif agency.offers_limit >= agency.offers.count
-#   .alert.alert-warning
-#     Warning message

- else
  = render 'form'

在这种情况下,我收到Got "else" with no preceding "if"。我还能如何评论已注释的部分代码,以便正确处理- else ...

如果我评论这样的代码:

- if specializations.count <= 0
  .alert.alert-warning
    Warning message

-# - elsif agency.offers_limit >= agency.offers.count
  .alert.alert-warning
    Warning message

- else
  = render 'form'

我没有错误,但未处理- else ...且未呈现任何表单。

1 个答案:

答案 0 :(得分:5)

if - elsif - else语句中不应处理的代码应为缩进。所以,如果在我的情况下我想跳过elsif语句,我的代码应如下所示:

- if specializations.count <= 0
  .alert.alert-warning
    Warning message 

  -# - elsif agency.offers_limit >= agency.offers.count
  -#  .alert.alert-warning
  -#    Warning message

- else
  = render 'form'

或者像这样(为了保持正确的缩进):

- if specializations.count <= 0
  .alert.alert-warning
    Warning message 

  -# - elsif agency.offers_limit >= agency.offers.count
    .alert.alert-warning
      Warning message

- else
  = render 'form'