2009-08-14 13 views
1

Ich bin auf der Suche nach einigen Nicht-Javascript-Techniken, mit denen eine Seite von Baum-Elementen (im Grunde divs innerhalb divs) neu zu laden, während sie an ihren "zeigen/verbergen" Status erinnern. Bisher kann ich nur daran denken, die ID jeder Entität als Teil einer Parameterliste zu übergeben und Rails dann eine "Klassenanzeige" in die Klassenliste einfügen (oder natürlich direkt die entsprechende CSS anhängen), wenn die Seite wird neu geladen. Gibt es auf jeden Fall einen besseren Weg, diese Dinge zu verwalten?(Rails) Verwalten eines Baumes ohne Javascript?

Grundsätzlich ist es mein Ziel, den Baum anzeigen/ausblenden zu können, ob JS aktiviert ist oder nicht.

Am besten.

Antwort

0

Ich würde ernsthaft erwägen, dies mit Cookies zu implementieren. Es sind nicht gerade kritische Daten, wie in der Welt wird es nicht enden, wenn jemand einen Cookie löscht und seinen Baum kollabiert. Es wird auch vermieden, dass Sie Statusinformationen über Ihre gesamten Abfragezeichenfolgen ausgeben müssen.

Wenn Sie einen neuen Zweig öffnen, fügt Ihr Controller ein neues Cookie hinzu, das als "offen" markiert, egal welche div-ID erweitert werden muss. Das Schließen eines Zweigs wäre umgekehrt - der Controller löscht/modifiziert den Cookie.

Verwenden Sie dann beim Rendern der Ansicht die Cookie-Informationen, um zu entscheiden, welche divs ihren Anzeigestil auf "normal" oder "keine" setzen sollen.

Verwandte Themen