Strip_tags funktioniert bei mir in meiner Ansichtsseite, aber nicht in meinem Modell (ich verwende es in einer before_save-Funktion)
Antworten
Zu viele Anzeigen?ActionView::Base.full_sanitizer.sanitize(your_html_string)
Das wird für Sie funktionieren. Oder Sie können eine Hilfskraft definieren wie:
def strip_html_tags(string)
ActionView::Base.full_sanitizer.sanitize(string)
end
Und dann verwenden Sie dies wie:
strip_html_tags(your_html_string)
Um bestimmte Tags zu entfernen, übergeben Sie zusätzliche Parameter. Quelle: Rails-API-Dock säubern
Also, ich mochte keine dieser Lösungen, da ich lieber halten Ansicht Funktionalität aus meinen Modellen. Also habe ich stattdessen einen Dekorator verwendet (wie https://github.com/drapergem/draper ) und war dann in der Lage, die Hilfsmethode als Abkürzung zu verwenden h.strip_tags
.
strip_tags
ist eine Helper-Methode, und Helper sind in der Regel nicht innerhalb von Modellen verfügbar.
Sie sollten sich überlegen, ob Sie nicht etwas wie das Edelstein desinfizieren stattdessen