Структура Ruby on Rails - решение включить частичные или нет - PullRequest
1 голос
/ 21 июня 2011

Я хотел бы получить общее представление от других кодировщиков RoR о преимуществах использования партиалов, если код, на который указывают партиалы, состоит всего из нескольких строк (5-10 строк). Использование Partials не сделает его более сложным с точки зрения обращения к файлам для просмотра того, что находится в частичках, вместо просмотра того, что находится в самом файле?

Эта мысль возникла при попытке решить, использовать ли партиалы или нет в моем application.html.erb в моем каталоге views / layout. Я хочу создать элегантный код и структуру. Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

Частицы очень похожи на функции / методы. Когда ваша функция начинает удлиняться, вы разбиваете ее на несколько функций, чтобы прояснить ситуацию. Когда какой-то фрагмент кода появляется в более чем одной функции, вы превращаете этот бит в отдельную функцию.

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

2 голосов
/ 21 июня 2011

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

User.all.each do |user|
  render :partial => do_stuff, :locals => {:user => user}
end

Таким образом, если мне когда-либо понадобится изменить это, его легко найти, и код отделен от других моих макетов / представлений.Хорошо разделять различные функции или аспекты ваших представлений в их собственных файлах.Хотя у вас будет больше файлов, это должно очень помочь вам в долгосрочной перспективе.

Если кто-то запросит у вас исправление, у вас может быть более четкое представление о том, куда идти, чтобы внести изменения.

Отличная IDE также помогает для навигации по вашим методам и еще много чего.Rubymine отлично подходит для этого.

Надеюсь, это помогло некоторым.

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