Hallo,
derzeit stehe ich vor der Situation, eine Rails 1.2 Anwendung auf 2.2 zu
portieren. Die Ursprungsanwendung ist überhaupt nicht restful; zudem ist
JavaScript an vielen Ecken notwendig (soll auch so bleiben).
Nun wollte ich kurz in die Runde werfen, welche Designkriterien dazu
passen. Bislang sieht das ganze so aus:
A1) Wir nutzen Prototype-Helper aus Rails wo immer möglich
A2) Wir nutzen JSON nicht
A3) Jede Ajax-Action rendert ein .rjs template, dass eine Einsetzung /
Anpassung der View vornimmt.
A4) Keine Ajax-Action führt Änderungen in der Datenbank aus.
A5) Zur Verarbeitung der Ajax-Routinen, gibt es Funktionen in der
application.js, die von den .rjs Templates aufgerufen werden.
z.B.
- Object O steht in einer belongs_to Relation B.
- Via Ajax kann der Benutzer im Formular zu O ein passendes B suchen - o
der er gibt an, dass er ein neues B erstellen will. - Die Wahl wird im Formular zu B vermerkt und bei der Verarbeitungs des
Submits angewendet.
Dies bringt einige Probleme mit sich:
P1) Code ist ziemlich “zerhakt”. Es gibt ein labiles Zusammenspiel aus
partials, .rjs und application.js. Automatisiertes Refactoring ist
praktisch nicht möglich
P2) Die Controller sind durchzogen von AutoComplete, etc. Actions und
werden unübersichtlich
Welche Überlegungen sollte ich jetzt beim Refactoring Anwenden?
- Gibt es Gute Alternativen zu A3)?
- Ist es realistisch nach dem Grundsatz: “JavaScript-Code (der nicht von
prototype-Helpern generiert wird), darf keine Attributnamen enthalten”
zu verfahren?
Danke,
Bis Dene
Thorsten