为什么我的else语句在rails中被忽略了

时间:2018-03-07 04:14:20

标签: ruby-on-rails

在我的if语句中,如果我尝试将其包装在像

这样的if语句中,则完全忽略else语句(无记录)
<% if (@genre) == ('2') %>  and <% end %>

无法弄清楚为什么忽略了else语句

这很好用

<% if (@assessment).present?  && (@q1a).present? && (@q2a).present? && (@q3a).present? && (@q3a).present? && (@q4a).present? && (@q5a).present? && (@q6a).present? && (@q7a).present? && (@q8a).present? && (@q9a).present? && (@q10a).present? && (@q11a).present? && (@q12a).present? && (@q13a).present? && (@q14a).present? && (@q15a).present? %>
     completed                        
<% elsif (@assessment).present? %>
    in progress 
<% end %>                                                                   
<% else %>
    no records                         
<% end %>

this is what the end result I want to be

这会忽略其他

<% if (@genre) == ('2') %>

<% if (@assessment).present?  && (@q1a).present? && (@q2a).present? && (@q3a).present? && (@q3a).present? && (@q4a).present? && (@q5a).present? && (@q6a).present? && (@q7a).present? && (@q8a).present? && (@q9a).present? && (@q10a).present? && (@q11a).present? && (@q12a).present? && (@q13a).present? && (@q14a).present? && (@q15a).present? %>
     completed                        
<% elsif (@assessment).present? %>
   in progress 
<% end %>                                                                   
<% else %>
   no records                         
<% end %>

<% end %>

enter image description here

我尝试删除&lt;%end%&gt;在elsif之后和&lt;%else%&gt;之前我收到语法错误,意外的keyword_ensure,期待keyword_end

也试过

<% if (@genre) == ('2') %>
<% if (@assessment).present?  && (@q1a).present? && (@q2a).present? && (@q3a).present? && (@q3a).present? && (@q4a).present? && (@q5a).present? && (@q6a).present? && (@q7a).present? && (@q8a).present? && (@q9a).present? && (@q10a).present? && (@q11a).present? && (@q12a).present? && (@q13a).present? && (@q14a).present? && (@q15a).present? %>
     completed                        
<% elsif (@assessment).present? %>
      in progress 
<% elsif (@assessment).blank? %>
       no records                         
<% end %>
<% end %>
<% end %>

1 个答案:

答案 0 :(得分:0)

您过早关闭if

变化:

<% end %>                                                                   
<% else %>

只是:

<% else %>