Rails 2.1 und Gettext Rails 2.1 und xss_terminate
Jul 03

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.

Einen Kommentar schreiben