Синтаксис инструкции Rails if

Я написал следующий ERB и получаю синтаксическую ошибку в вопросительном знаке. Эта вспомогательная функция из devise в настоящее время оценивается как false. Что я пропустил?

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

3 ответов


попробуйте это :

<% 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 %>