Оператор case не работает в erb - PullRequest
0 голосов
/ 31 марта 2020

Мне нужна условная структура управления в представлении для построения формы. (Пожалуйста, не спрашивайте, почему я не использую вспомогательные методы, такие как form_with. Я могу с уверенностью использовать некоторые вспомогательные функции. Но с моей проблемой Rails, очевидно, требует от меня, чтобы я сам построил форму по большей части) Хорошо, где мы были ? Да, мне нужно использовать условную структуру управления в шаблоне erb. html. Я пытаюсь описать ситуацию, но Rails, похоже, не нравится.

<% case var_query_method %>

  <% when "text_field" %>

  <p>
    <%= label @node.class.name.underscore.to_sym, :text %><br>
    <%= text_field @node.class.name.underscore.to_sym, :text %>
  </p>


<% end %>

Что я делаю не так?

1 Ответ

1 голос
/ 31 марта 2020
<% case var_query_method 
           when "text_field" %>
         <p>
            <%= label @node.class.name.underscore.to_sym, :text %><br>
            <%= text_field @node.class.name.underscore.to_sym, :text %>
        </p>
        <% end %>

если вам нужно добавить еще when

<% case var_query_method 
           when "text_field" %>
         <p>
            <%= label @node.class.name.underscore.to_sym, :text %><br>
            <%= text_field @node.class.name.underscore.to_sym, :text %>
        </p>
       <% when "no" %>
            <p>hello another when </p>
        <% end %>
...