ホームRailsの覚書Vue.jsの覚書MenuSidebarPrevNextSearchDraperとSanitizeを利用したサニタイズはじめにウェブアプリケーションを作成していると、ユーザに対してHTMLタグを入力、管理させる場面が度々出てくるかと思います。それは例えば、文字列の装飾であったり、ブログの隅に置かれたウィジットであったりです。これを行う際に便利なのが、DraperとSanitizeです。drapergem/draperrgrove/sanitize実装Draperでモデルとビューの間にプレゼンテーション層を追加します。そこでSanitizeを呼び出すことにより、出力されるスクリプトから、問題のありそうなコードを削除して、適切なサニタイズの行われた文字列を取り出すようにします。以下の例ではContentモデルのbodyというattributeをサニタイズしております。fooooタグやスクリプトのSanitizeというと、Railsではヘルパーのイメージがあります。その扱いはセキュリティ上、見栄え以上に重要な位置にございます。一箇所でまとめて管理したいなと考える昨今です。結果的に落ち着いたのがデコレータ、といった塩梅でございます。