Макет рефакторинга - PullRequest
       4

Макет рефакторинга

2 голосов
/ 23 марта 2012

Ничего не могу поделать, но есть лучший способ кодирования ниже в макете Rails. Есть предложения?

<% if remove_ads_from_page? %>
   <div class="main-content without-ads">
    <%= yield %>    
   </div>
<% else %>
   <div class="main-content with-ads">
    <%= yield %>
   </div>
<% end %>

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Как насчет

   <div class="main-content <%= remove_ads_from_page? ? 'without' : 'with' %>-ads">
    <%= yield %>    
   </div>
0 голосов
/ 23 марта 2012

Эллиот, есть пара способов вывести логику из вида рельсов.Один из самых простых способов - использовать драпировщик драгоценных камней

http://railscasts.com/episodes/286-draper

Еще одна вещь, которую вы можете сделать, это рассмотреть возможность использования HAML для очистки вашего вида.

0 голосов
/ 23 марта 2012
<% if remove_ads_from_page? %>
   <div class="main-content without-ads">
<% else %>
   <div class="main-content with-ads">
<% end %>
    <%= yield %>
   </div>

Это должно работать.Rails не заботится о том, чтобы ваши HTML-теги были правильно закрыты между предложениями if и else.Это просто говорит: «Если remove_ads_from_page имеет значение true, распечатайте этот фрагмент. В противном случае распечатайте этот фрагмент».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...