Код Ruby, встроенный в шаблон, не является проблемой.Он предлагает Erb и Haml огромную мощь в качестве языков шаблонов.Действительно, многие языки шаблонов страдают из-за того, что в шаблонах отсутствует код (например, язык шаблонов Django).
Реальная проблема, которая иногда возникает, - это когда разработчик вставляет сложный код, или данные, извлекающие код, или код обновление данных или решений по принятию кода в шаблон.
Ruby и Rails предоставляют разработчику огромную мощность и гибкость.Ответственность за это несет разработчик.Получить ваши данные из контроллера.Переместить сложный код в помощник.И т. Д.
<%= link_to edit_post_path(@post) do %>
Edit post "<%= @post.title %>"!!!
<% end %>
Выше приведен простой Embedded Ruby, который хорошо виден.Версия Haml:
= link_to edit_post_path(@post) do
Edit post "#{@post.title}"!!!
Пока вы сохраняете код простым и любой сложный код перемещается в контроллер или помощник, все будет в порядке.
Обратите внимание, что Hamlи шаблоны Erb содержат одинаковое количество встроенного кода Ruby, за исключением того, что Haml отбрасывает все end
s.