Ruby Forum Rails Germany > Ajax, Partials und form_for

Posted by Michael Schuerig (Guest)
on 26.04.2008 14:22
(Received via mailing list)
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:michael@schuerig.de
http://www.schuerig.de/michael/
Posted by Manuel Wiedenmann (Guest)
on 26.04.2008 14:55
(Received via mailing list)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

guter punkt. genau das problem hatte ich gestern auch und hab es
nicht wirklich lösen können.
kann es sein, dass es einfach ohne das f. geht und du einfach das
objekt angeben musst also text_field :object, :method....

wie gesagt hab keine lösung gefunden... wenn also jemand was weiß...

gruß 
manuel

Am 26.04.2008 um 14:22 schrieb Michael Schuerig:

> <% end %>
>
>     end
> <% end %>
>
> -- 
> Michael Schuerig
> mailto:michael@schuerig.de
> http://www.schuerig.de/michael/
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFIEyXxs/WwCK0ZZEARAlU6AJwKTmeOFGDAmedrB4lb0HN6l1jaJACfSsfZ
ZoMekV4AdxMDGly1qdDTMmU=
=0N6q
-----END PGP SIGNATURE-----
Posted by Michael Schuerig (Guest)
on 26.04.2008 15:14
(Received via mailing list)
On Saturday 26 April 2008, Manuel Wiedenmann wrote:
> guter punkt. genau das problem hatte ich gestern auch und hab es
> nicht wirklich lösen können.
> kann es sein, dass es einfach ohne das f. geht und du einfach das
> objekt angeben musst also text_field :object, :method....

In meinem Fall definitiv nicht, weil ich nicht das Verhalten der
gewöhnlichen Helper text_field usw. haben möchte, sondern dass, was ein
bestimmter FormBuilder daraus macht.

Michael

--
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/
Posted by Manuel Wiedenmann (Guest)
on 26.04.2008 17:34
(Received via mailing list)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

wenn ich kurz fragen darf, was macht er da draus?
was für eigenschaften brauchst du?

gruß 
manuel

Am 26.04.2008 um 15:14 schrieb Michael Schuerig:

>
> Michael
>
> -- 
> Michael Schuerig
> mailto:michael@schuerig.de
> http://www.schuerig.de/michael/
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFIE0tls/WwCK0ZZEARArMKAKCNoGlJuTv/BpdeAYZdffc03PVlUwCeKLyG
gl/rDlMFOy8ZphbeeOksBqk=
=i897
-----END PGP SIGNATURE-----
Posted by Michael Schuerig (Guest)
on 26.04.2008 18:32
(Received via mailing list)
On Saturday 26 April 2008, Manuel Wiedenmann wrote:
> wenn ich kurz fragen darf, was macht er da draus?
> was für eigenschaften brauchst du?

Labels u.a. Außerdem erzeugt mir der FormBuilder für Assoziationen
automatisch ein geeignetes Control, entweder ein Select-Element oder
eine Liste von Checkboxen. Dabei berücksichtigt er auch, ob das
Formular de/aktiviert ist.

Michael

--
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/