Это очень странная проблема. У меня есть частичный, который называется так:case case внутри частичных остановок частично от работы, но работает за пределами частичного
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= render 'layouts/logged_in/registration_form_header', f: f %>
....
<% end %>
Частичные работы, как это:
Here is some text
<% puts "inside the partial %>
puts
утверждение показывает в консоли и текстовых дисплеев. Если добавить тематическое заявление так:
<% case @type %>
<% when 'Organization' %>
its an organization
<% when 'Presenter' %>
111111
<% puts "this statement is being evaluated" %>
<%= "inside the partial" %>
222222
<% end #case statement for type %>
В приведенном выше заявлении @type
определяется как "Presenter"
в действие контроллера. Я знаю, что это работает, потому что оператор puts
правильно отображается в консоли. Однако единственный текст, который выводится в браузер, равен 222222. Строка «внутри частичной» не отображается на экране, а также 111111. Я знаю, что код <% when 'Presenter' %>
- это то, что выполняется, потому что оператор puts работает, и Появляется 222222, но почему остальная часть контента не появляется? Если я беру оператор case вне частичного и отображаю его в исходном файле кода, все работает так, как должно.
Я хотел бы избежать положить все, что логика в вашем представлении. Но это не относится к делу ... – Cyzanfar
Это ваш стенографический код? Я не вижу никакой ошибки здесь, такие конструкции, как обычно, работают нормально (неважно, целесообразны они или нет). Можете ли вы опубликовать фактический код? Возможно, вы пропустили некоторые «=» или «%» в стратегических местах. ;) – AnoE
Это мой фактический код. Скопировано и вставлено непосредственно из частичного. – Philip7899