Rails if语句语法

我写了以下ERB,并在问号上出现语法错误。 来自devise的这个辅助函数当前评估为false。 我错过了什么?

   

试试这个 :

 <% if user_signed_in? %> <%= render 'form' %> <% end %> 

如果你执行<%= ...%>,它将尝试输出你在标签之间放置的东西。 但是,如果您执行<%...%>,则不会处理任何输出,只会评估代码。 如果这不起作用,那么你的user_signed_in可能有问题吗? 辅助方法。

<%=会尝试输出你的user_signed_in? 帮手,所以试试:

 <% if user_signed_in? %> <%= render 'form' %> <% end %> 

甚至更好(并且更少混淆):

 <%= render 'form' if user_signed_in? %> 

试试这个

 <% if user_signed_in? %> <%= render 'form' %> <% end %>