Ryan Bates 'nifty_scaffolding, например, делает это
edit.html.erb
<%= render :partial => 'form' %>
new.html.erb
<%= render :partial => 'form' %>
_form.html.erb
<%= form_for @some_object_defined_in_action %>
Это скрытое состояние заставляет меня чувствовать себя некомфортно, поэтому мне обычно нравится это делать
edit.html.erb
<%= render :partial => 'form', :locals => { :object => @my_object } %>
_form.html.erb
<%= form_for object %>
Итак, что лучше: a) иметь частичные экземпляры экземпляров доступа или b) передавать частичные все необходимые ему переменные
Я выбрал b) в последнее время, но я столкнулся с небольшим рассолом:
some_action.html.erb
<% @dad.sons.each do |a_son| %>
<%= render :partial => 'partial', :locals => { :son => a_son } %>
<% end %>
_partial.html.erb
The son name is <%= son.name %>
The dad name is <%= son.dad.name %>
son.dad делает вызов базы данных для извлечения папы! Таким образом, я либо должен был бы получить доступ к @dad, который вернется к a), имея частичные экземпляры экземпляров доступа, или мне придется передавать @dad в locals, изменяя render: partial to <% = render: partial = > 'partial',: locals = > {: dad = > @dad,: son = > a_son}% > , и по какой-то причине передача кучи vars в мою частицу заставляет меня чувствовать себя некомфортно, Возможно, другие тоже так чувствуют себя.
Надеюсь, это имело какой-то смысл. Ищете некоторое понимание всей этой вещи... Спасибо!