Я вижу, по крайней мере, это:
- использовать CSS, который можно использовать для позиционирования элементов, скрытия других, цветов и т. Д.
- рендеринг различных частичек в каждом шаблоне
Для первого варианта (я буду использовать haml, и я сделаю это проще):
# events.html.haml
.index= render @events
# homepage.html.haml
.events= render @events
# your css
.index { color: red; }
.events { color: blue; }
Что-то попроще, что я считаю одним из предложений @iain:
# action template
= render partial: '/events/event1', collection: @events
# _event1.html.haml
.name #{event1.name}
Таким образом, вы можете аккуратно сделать столько различий, сколько захотите, с небольшим повторением вызова рендеринга.Я согласен с тем, что вам следует избегать, если по возможности, высказываний в представлениях.
Я настоятельно рекомендую обратиться к руководствам , поскольку они очень четкие и легко читаемые.
Хэш здесь в стиле Ruby 1.9, если вы используете Ruby 1.8, замените что-то вроде collection: @events
на что-то вроде :collection => @events
Надеюсь, это поможет, извините за радикальное редактирование моего ответа.