Это хорошая идея, чтобы создать вспомогательный метод для этого типа сценария? - PullRequest
1 голос
/ 01 марта 2011

У меня есть этот код в моем html.erb во многих местах.

<div id="left-nav">
  <%= render :partial => 'tests/tests_left_menu' %>
</div>

Это хорошая идея, чтобы создать вспомогательный метод для этого типа кода?

Как написать этот код в помощник?

Ответы [ 3 ]

1 голос
/ 01 марта 2011

Лично я не думаю, что в этом есть необходимость, и я думаю, что это больше похоже на то, что вы не используете другие инструменты, такие как haml , чтобы помочь уменьшить количество строк в файлах erb

тот же код может быть достигнут в хамл всего за 1 строку:

#left-nav= render :partial => 'tests/tests_left_menu'

надеюсь, это поможет =)

1 голос
/ 01 марта 2011

Я вижу несколько хороших стратегий для использования в вашей ситуации.Выбирайте в зависимости от конкретных требований вашего проекта.

  • Вы можете просто поместить div#left-nav и его содержимое в еще один фрагмент, например tests/tests_left_menu_with_wrapper.Это сэкономит вам пару строк.
  • Если вы можете обобщить случаи, когда появляется весь сегмент, вы можете переместить его в макет .Таким образом, когда вы объявите макет для определенного действия с помощью метода ActionController::Base.layout, вы сможете пропустить запись всего сегмента.
  • Вы можете написать помощник, но не ясно, какое преимуществоон присваивается просто с помощью content_tag.Возможно, вам лучше использовать партиалы или макеты.
0 голосов
/ 01 марта 2011

Полагаю, если у вас есть этот код во многих местах, я бы переместил div в парциальное. Если вам нужна гибкость, чтобы иметь tests_left_menu вне div, я бы все же выбрал два партиала вместо помощника в этом сценарии. Старайтесь не писать HTML на Ruby, когда можете:)

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