Rails: ¿Los parciales deben tener en cuenta las variables de instancia?

El ingenioso "andamio" de Ryan Bates, por ejemplo, hace esto

edit.html.erb

<%= render :partial => 'form' %>

new.html.erb

<%= render :partial => 'form' %>

_form.html.erb

<%= form_for @some_object_defined_in_action %>

Ese estado oculto me hace sentir incómodo, así que generalmente me gusta hacer esto

edit.html.erb

<%= render :partial => 'form', :locals => { :object => @my_object } %>

_form.html.erb

<%= form_for object %>

Entonces, cuál es mejor:a) tener variables de instancia de acceso parciales ob) pasando un parcial todas las variables que necesita?

Últimamente he estado optando por b), pero me encontré con un pequeño problema:

some_action.html.erb

<% @dad.sons.each do |a_son| %>
<%= render :partial => 'partial', :locals => { :son => a_son } %>
<% end %>

_partial.html.erb

The son's name is <%= son.name %>
The dad's name is <%= son.dad.name %>

¡son.dad hace una llamada a la base de datos para buscar al papá! Entonces tendría que acceder a @dad, que volvería aa) tener variables de instancia de acceso parciales o tendría que pasar @dad en locales, cambiando render: parcial a <% = render: partial => 'partial',: locals => {: dad => @dad,: son => a_son}%>, y por alguna razón, pasar un montón de vars a mi parcial me hace sentir incómodo. Quizás otros también se sientan así.

Esperemos que tenga sentido. Buscando una idea de todo esto ... ¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta