In meinem Code kommt es gelegentlich vor, dass ich ein Partial so 
verwende:

<% form_for @foo do |f| %>
  ...
  <div id="foo">
    <%= render :partial => 'foo', :locals => { :f => f } %>
  </div>
  ...
<% end %>

  def edit
    @foo = ...
    respond_to do |format|
      format.html
    end
  end

Funktioniert natürlich, aber dann kommt der Punkt, an dem ich das 
Partial auch in der Antwort auf einen Ajax-Request verwenden möchte

  def edit
    @foo = ...
    respond_to do |format|
      format.html
      format.js do
        render :update do |page|
          page.replace_html 'foo', :partial => 'foo',
            :locals => { :f => ... }
        end
      end
    end
  end

Die Frage ist nun, wie bekomme ich den passenden FormBuilder als f in 
das Partial hinein. Ich habe mir teilweise mit einem weiteren Partial 
beholfen, das dann nur für Updates den passenden Rahmen um das 
eigentliche "Nutz"-Partial wickelt.

# _foo_update.html.erb
<% fields_for @foo do |f| %>
  <%= render :partial => 'foo', :locals => { :f => f } %>
<% end %>

Das ist nicht schön, weil das zweite Partial wenig tut und obendrein 
Code dupliziert, der schon an anderer Stelle steht, denn typischerweise 
verwende ich einen eigenen FormBuilder, der dann auch noch eigene 
Optionen bekommt. Das kann man hinter Helper-Methoden verstecken, es 
bleibt aber das lästige zweite Partial. Vielleicht hat jemand eine 
elegante Idee, wie sich das verschönern lässt.

Michael

-- 
Michael Schuerig
mailto:[EMAIL PROTECTED]
http://www.schuerig.de/michael/
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an