Если еще не работает, потому что он содержит конец внутри - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть помощник, который содержит простой выключатель. Я знаю, у меня это работает, потому что это работает на других страницах. Тем не менее, на этой конкретной странице это не сработает .. Я думаю, что это потому, что в if if есть end, поэтому он завершает if if рано. Вот код:

Я считаю, что эта часть работает:

<% if popup == "off" %>
       <% content_for :main do %>
<% end %>

Эта часть не так уж много:

<% if popup == "off" %>
       <% end %>  << this end should be displayed if popup = off 
<% end %>

Ответы [ 4 ]

3 голосов
/ 02 сентября 2011

Вы можете сделать это:

<% if popup == "off" %>
       <%= "<% end %>" %>  << this end should be displayed if popup = off 
<% end %>

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

<% if popup == "off" %>
       &lt;% end %&gt;  << this end should be displayed if popup = off 
<% end %>
0 голосов
/ 02 сентября 2011

Кажется, что все предложения по выполнению <%= "<% end %>" %> приводят к синтаксической ошибке. Может показаться, что это простой выход, в итоге я просто реструктурировал мое приложение и избавился от требования <% content_for :main do %>

0 голосов
/ 02 сентября 2011

ERB (и Ruby) так не работают.

Я думаю, вы рассматриваете это так, как будто пытаетесь завершить HTML-тег вместо end в блоке Ruby и хотите, чтобы все, что находится между этими двумя сегментами кода, выполнялось в * 1004.* Блок.

Вот что вам нужно.Все промежуточное будет включено в блок content_for:

<% if popup == "off" %>
  <% content_for :main do %>
    your block code will be evaluated here.
  <% end %>  
<% end %>
0 голосов
/ 02 сентября 2011

Если вы хотите, чтобы слово end отображалось, не заключайте его в теги.Все, что заключено в теги, интерпретируется как код Ruby, все, что не печатается в точности так, как оно есть.

<% if popup == "off" %>
   end  << this will now be interpreted as text, not ruby code
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...