ユーザーが生成したコメント コンテンツに対する html_safe メソッドは、明らかに良い解決策ではありません。ただし、これは、これまでのところ、次の機能を実装するために思いついた唯一の解決策でした: ユーザーが別のコメントの反復 ID をコメントフォームに入力するだけで、別のコメントを引用できるようにしたかったのです。"#14 」 (その記事のコメント 14 を引用する)。次に、この #14 はコンテンツ出力で「[quoted_comment.content]」に置き換えられます。
これは、コメント モデルでの私のコードです。
def content_with_quotes
if content.match(/(#([0-9]+))\s/)
comment_content = content
comment_content.scan(/(#([0-9]+))\s/) do
if quoted_comment = Comment.where(article_id: self.article_id).where(iteration_id: $2).first
if quoted_comment.created_at < self.created_at
return comment_content.sub(/(#[0-9]+)\s/, "<i>'#{quoted_comment.content}'</i> ")
end
end
end
else
return content
end
end
次に、コメント ビューで、comment.content_with_quotes.html_safe を使用して適用すると、すべて正常に動作します。
したがって、これは私が望んでいるものであり、機能しますが、もちろん、この html_safe メソッドは、html セーフではない可能性があるため、ユーザーが送信したコンテンツには適していません。
html_safe メソッドを実行せずに私の機能にアプローチする方法について何か提案はありますか?