Hallo, ich stimme Benny zu. Das Plugin/Gem acts_as_sanitiled ist dafür auch recht gut geeignet: http://github.com/dasil003/acts_as_sanitiled
<http://github.com/dasil003/acts_as_sanitiled>Es unterstützt neben dem von dir beschriebenen Szenario (Linebreaks bzw. Paragraphs einfügen) auch die Säuberung des Texts von "gefährlichen" Tags und die Umwandlung von Textile in HTML. Vielleicht ist das ja was für dich. -- Viele Grüße Ralph von der Heyden Am 22.09.2010 um 11:57 schrieb Benjamin Behr: Moin, ich würde die Idee grundsätzlich erst einmal in Frage stellen. Wenn du Zeilenumbrüche in "<br />"-Tags umwandeln möchtest, wird aus: Erste Zeile\n Zweite Zeile\n Dritte Zeile ein: Erste Zeile<br />Zweite Zeile<br />Dritte Zeile Das Bearbeiten eines solchen Textes ist meines Erachtens unvorteilhaft. Ich würde dir einen Ansatz empfehlen, wie es zum Beispiel BlueCloth oder RedCloth verwendet. Die Gems schreiben den Text so wie er ist in die Datenbank und konvertiert ihn dann zur Ausgabe im Template in HTML. Die einfachste Methode, ohne auf eines der Gems zurückzugreifen, wäre wahrscheinlich dir einen Accessor für das Textfeld zu schreiben, den du dann in der Ausgabe rufst. Das Ganze könnte dann so aussehen: def textfeld_in_html textfeld.gsub(/\n/, '<br />') end Solltest du trotzdem die Newlines in html-Linebreaks vor dem Speichern in die DB umwandeln wollen, wird der Vorschlag von Thomas funktionieren. Schöne Grüße, Benny Am 22.09.2010 um 11:39 schrieb Thomas von Deyen: before_save :convert_newlines private def convert_newlines textfeld.gsub!(/\n/, ''<br/>") end Thomas von Deyen mobile +49 (0)151 2296 7864 mail tho...@vondeyen.com<mailto:tho...@vondeyen.com> web thomas.vondeyen.com<http://thomas.vondeyen.com/> twitter twitter.com/tvdeyen<http://twitter.com/tvdeyen> Save the environment: Before printing this email, please assess if it is really needed! Am 22.09.2010 um 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 _______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com<mailto:rubyonrails-ug@headflash.com> http://mailman.headflash.com/listinfo/rubyonrails-ug _______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com<mailto:rubyonrails-ug@headflash.com> http://mailman.headflash.com/listinfo/rubyonrails-ug <ATT00001..txt>
_______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug