Wie man an meinen letzten beiden Blogeinträgen erkennt, versuche ich momentan ein Projekt auf Rails 2.1 umzustellen. Das ist nicht all zu schwer, da wir das Projekt vorher auf Rails 2.0 laufen hatten, allerdings gibt es doch einige Stellen die mich wundern.
Zum Einen lief Gettext nach der Umstellung nicht mehr und jetzt auch acts_as_taggable_on_steroids nicht mehr. Beim Aufruf von xyz.tag_list gab es eine Fehlermeldung:
stack level too deep
Das gab es bei Verwendung von Rails 2.0 noch nicht. Beheben kann man dieses Problem vorerst, indem man die Funktion tag_list in der Datei “acts_as_taggable.rb” des Plugins überschreibt:
def tag_list return @tag_list if @tag_list #if self.class.caching_tag_list? and !(cached_value = send(self.class.cached_tag_list_column_name)).nil? # @tag_list = TagList.from(cached_value) #else # @tag_list = TagList.new(*tags.map(&:name)) #end end
Also die unteren Zeilen vorerst auskommentiert, damit taucht der Fehler nicht mehr auf, allerdings gibts auch keine gecachten Tags mehr.
Diese Lösung reicht vielleicht vorerst für die meisten mit diesem Problem, allerdings werde ich versuchen das Caching wieder zum Laufen zu bekommen.