Hallo Tobi,

in-place auf den Attributen rumzuschmieren ist nicht sehr nett, da bekommt 
Rails evtl. nicht mit, dass sich was geändert hat.
Besser ist es, die Änderung in einer Kopie zu machen (gsub statt gsub!) und dem 
Attribut neu zuzuweisen.

Viele Grüße
Henning

Am 22.09.2010 11:31, schrieb Tobias Weiß:
Hallo,

ich würde gerne alle Zeilenumbrüche in Textfeldern in <br />-Tags umwandeln, 
bevor ein Objekt in die DB wandert.

Dafür habe ich folgenden Callback:

before_save :new_line_to_br_tag

def new_line_to_br_tag
   self.attributes.each_value do |value|
     value.gsub!("\n", "<br />") if (!value.nil? && value.class.eql?("String"))
   end
end

Scheint aber nicht zu funktionieren, die Strings landen unverändert in der DB. 
Irgendeine Idee, was hier falsch ist?

Grüße, Tobi



--
Geschäftsführer

makandra GmbH
Werner-von-Siemens-Str. 6
86159 Augsburg

Fon +49 (0) 821 58866 186
Mobil +49 (0) 160 74 14 398

Geschäftsführer: Thomas Eisenbarth, Henning Koch, Robert Sonnberger
Amtsgericht Augsburg, HRB 24202
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an