...so dachte ich mir, und stand vor der Entscheidung, ob ich nun den gleichen kapitalen Fehler begehen sollte, den ich schon während der Bachelorarbeit (nur damals mit PHP) begangen hatte: Sollte ich mitten während der Entwicklung einer Software das Framework aktualisieren? Bislang arbeitete ich ja mit Rails 1.2.6 und war gut zufrieden, doch dann wurden ein paar neue Features (wie eingebautes HTTP Basic Auth... Blog-Artikel dazu ist in Arbeit!) doch zu verlockend.... und ich tat es.
Ja, ich fahre nun auch auf Rails 2.0.
Und der Umstieg gelang erstaunlich reibungslos! Meine Schritte waren:
- Lesen des Artikels mit den Änderungen in Rails 2.0 aus dem InnoQ-Wiki
- Deinstallieren von Rails 1.2.6 (über APT, denn ich hatte Rails nicht über Gem installiert)
- Installieren von Rails 2.0 (über Gem, denn Rails 2.0. gab's noch nicht in meinen Apt-Repos)
- Deployen einer plain vanilla Rails App irgendwohin
- Kopieren von
/config/{boot, environment, routes, initializers}
,/script/*
und/public/{dispatch.*, *.html}
von vanilla nach Consolvix - Korrigieren der Pfadangaben zu den includes in dispatch.fcgi, denn sonst spackte Apache
- Umbenennen aller Views mit u.g. Script, das vielleicht auch jemand anderem irgendwann eine Hilfe sein könnte.
#!/usr/bin/env ruby
# rename all *.rhtml files within the /app/views directory ro *.html.erb
# Author: WvK <[email protected]>
require 'fileutils'
Dir.new('.').each do |entry|
if File.directory? entry and not entry[0..0] == '.'
Dir.new("./#{entry}").each do |file|
if /.*.rhtml/.match file
old_path = "./#{entry}/#{file}"
new_path = old_path.gsub /.rhtml/, '.html.erb'
if FileUtils.mv old_path, new_path
p "mv #{old_path} -> #{new_path}"
else
p "ERROR RENAMING #{old_path} to #{new_path}!"
end
end
end
end
end
Tja, und was soll ich sagen: läuft! Bis auf die Sache mit der pagination, derer ich mich noch nicht angenommen habe, läuft alles weitestgehend tadellos. Ich bin froh, dass ich ab und an mal die Deprecation-Warnungen in /log/development.log
zu Herzen genommen hatte!
Nun wo der Schritt also vollbracht ist, ist Consolvix bestimmt besser als je zuvor den Änderungen, welche die Zukunft bescheren wird, gewachsen ;-)
Comments (2)
Für die Pagination kann ich dir will_paginate empfehlen. Ich finde das Plugin sehr gut und wird wohl auch sehr oft eingesetzt.
Grüße
Tim
Posted by Tim | January 4, 2008 9:46 AM
Posted on January 4, 2008 09:46
Jo, davon hatte ich auch schon einiges gelesen -- mit gefällt aber persönlich mittlerweile das Paginator-GEM besser (jedenfalls war's mir auf den ersten Blick sympathischer ;-)), da es m.E. universeller einsetzbar ist. Zwar sind's immer 1-2 Zeilen mehr in der Paginator-Definition, aber dafür komme ich nun auch ohne die althergebrachte selbstgebaute paginate_collection aus.
Und Dann noch ein größeres Problem, was mich dann heute und gestern doch ein paar Stunden gekostet hat: composed_of funktioniert nicht mehr so wie in Rails 1.2.X. Bislang verwendete ich es eh nur beim User um das Kennwort in einem Credentials-Objekt zu kapseln, aber da da nun sowieso die gesamte Passwort-Setzen-Logik aus dem Benutzer heraus nach Auth::Authoriser (siehe demnächst fertiggestellter Eintrag) verschoben wurde, brauch ich das eigentlich auch nicht mehr...
Außerdem wäre im Nachhinein gesehen das Umbenennen der Views nach *.html.rb gar nicht nötig gewesen -- in einem anderen Projekt hatte ich das vergessen und das läuft auch noch immer ;-)
Posted by Willem van Kerkhof | January 7, 2008 8:39 AM
Posted on January 7, 2008 08:39