Forum: Rails Germany [Hilfe] Partial rendern mit link_to_function und effekten

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A2a31c6a16e6014feecffbfbe0ae62a1?d=identicon&s=25 Matthias Sch. (mathao)
on 2008-11-29 17:46
Hallo zusammen,

ich habe folgende Funktion in meinem such.helper

def suchen
    tags = @tags.strip
    tags_array = tags.split(' ')
      such_tags = tags_array.collect do |tag|
      %(<span class="tag">#{tag}</span><a href="#{link}">hier</a>)
      end
    end


Diese Funktion wird in meinem partial "_suche.rhtml" beispielsweise so
aufgerufen :
<div id="such_tags">
                    <%= suchen %>
                </div>


Das verursacht, dass mir für jedes Element in tags (beispielsweise
Affe,Banane, Palme) in dem Div "such_tags" folgendes dargestellt wird

Affehier Bananehier Palmehier ...

Was passiert wenn man auf hier klickt ist erstmal nebensächlich. Viel
wichtiger ist dass ich nun hinter das "hier" einen weiteren Link
einfügen will, der aber sozusagen ein DropDown Layer öffnet, das ein
Formular beinhaltet. Dazu möchte ich gerne link_to_function benutzen und
ein externes partial rendern, was durch Effekte wie BlindUp und
BlindDown oder ähnlicheres wie ein DropDown Menü beim Klicken geöffnet
und geschloßen wird.
Wichtig wäre auch, dass das partial div incl. Formular nicht in dem Div
"such_tags" auftaucht, sondern sozusagen sich über dem Div öffnet.

Bis jetzt habe ich folgendes schon versucht :

def myhelper
    page.replace ('container',:partial=>"newcontainer")
  end

 def suchen
    tags = @tags.strip
    tags_array = tags.split(' ')
      such_tags = tags_array.collect do |tag|
      %(<span class="tag">#{tag}</span><a
href="#{link}">hier</a>#{link_to_function "und hier" do |page|
        page.my_helper end}<p id="container" style="display:
none;"></p>)
      end)
      end
    end

Die partial Datei :
<div id="newcontainer">Hier Kommt später ein Formular hin</div>


Das funktioniert natürlich noch nicht so, wie ich möchte, wenn ich auf
den link "und hier" neben Palme klicke, sollte sich das Menü ja da
öffnen ( in meinem Fall sollte nur gerendert werden, da es noch kein
funktionierendes Menü gibt) aber es öffnet sich beim Affen, sprich ich
muss irgendwie was mitliefern, dass es sich da wo ich klicke auch
öffnet.

Weiß hier jemand eine geschickte Vorgehensweise, wie ich oben genanntes
Szenario implementieren könnte? Ist die Richtung schon in gewisser Weise
die richtige?
This topic is locked and can not be replied to.