Прошу прощения, если это не соответствует хорошему руководству по вопросам, но я надеюсь, что он хорошо разбирается в Как управлять взрывом CSS и получил такой же полезный ответ .
Я знаком с некоторыми базовыми стратегиями уменьшения растянутости представлений, такими как следующие:
Не стесняйтесь что-то предлагать если мне не хватает какой-то важной идеи в приведенном выше списке.
Тем не менее, Я все еще получаю несколько измерений / степеней свободы в моем представлении, вызывая множество операторов if-then или, по крайней мере, троичных блоков. Например, в чем-то, с чем я сейчас возился, я работаю над панелью заголовка для программы, в которой представление вызывается, когда три "большие" переменные:
В итоге получается такая неразбериха:
<% content_for :subheader do %>
<% 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? %>
<% if @regions %>
<%= link_to 'Regional program search', request.fullpath, :class => 'active' %>
<% end %>
<% end %>
Уродливо. Читабельно и легко доступно, но некрасиво. Некоторые предложения?
Благодаря опыту и новым технологиям, таким как LESS , я неплохо научился сокращать свои файлы CSS, но у меня все еще возникают проблемы с взрывом моих представлений MVC.