Я прошу прощения, если это не следует хорошим правилам для вопросов, но я надеюсь, что это хорошо в классе с Как управлять CSS Explosion и получает такой же полезный ответ.
Язнакомы с некоторыми базовыми стратегиями по уменьшению распространенности вида, такими как:
- При необходимости используйте помощников
- Не повторяйте себя
- Используйте частичные и макеты
Не стесняйтесь предлагать что-то, если я упускаю какую-то большую идею в приведенном выше списке.
Тем не менее, у меня все еще остается несколько измерений / степеней свободы, что вызываетмного операторов if-then или хотя бы троичных блоков.Например, в чем-то, с чем я в настоящее время связываюсь, я работаю над строкой заголовка для программы, где представление вызывается, когда три «большие» переменные:
- Является ли пользователь администратором
- Независимо от того, вошел ли пользователь в систему
- Является ли просматриваемая страница принадлежащей пользователю или кому-то еще
В конечном итоге это выглядит как этот беспорядок:
<% content_for :subheader do %>
<div class="row">
<% if @user %>
<% if @user == current_user %>
<%= link_to 'My programs', user_programs_path(current_user), :class => 'active' %>
<% else %>
<%= link_to "#{@user.username}'s programs", user_programs_path(@user), :class => 'active' %>
<% end %>
<%= link_to 'Browse all programs', programs_path %>
<% else %>
<% if current_user %>
<%= link_to 'My programs', user_programs_path(current_user) %>
<% end %>
<%= link_to 'Browse all programs', programs_path, :class => 'active' %>
<% end %>
<%= link_to 'New Program', new_program_path, :class => 'admin' if current_user.admin? %>
</div>
<% if @regions %>
<div class="row second">
<%= link_to 'Regional program search', request.fullpath, :class => 'active' %>
</div>
<% end %>
<% end %>
Гадкий.Читаемый и легко доступный, но безобразный.Некоторые предложения?
Между опытом и новыми технологиями, такими как МЕНЬШЕ , я довольно хорошо похудел в своих CSS-файлах, но я все еще сталкиваюсь с проблемами взрыва с моими представлениями MVC.