Должны ли вы использовать только локальные переменные в частичном?

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

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

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

имеет ли значение, если вы ссылаетесь на переменные экземпляра в частичном?

2 ответов


ты сегодня в ударе! :-)

вы можете передавать переменные в частичный as :locals чтобы держать все это красиво и чисто. Например,

render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' }

эти переменные затем доступны в частичном представлении:

<%= some_variable %>
<%= some_important_value %>

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


Я бы рекомендовал использовать переменные экземпляра только до тех пор, пока частичный не является общим, так как это может запутаться очень быстро ;)