(CKEditor)
Railsには次のgemがあります。すべて正常に動作していますが、Rails で単語カウントを実行しようとしており、CKeditor が奇妙な文字列を保存しているため、これが機能していないという問題があります。
スニペットを作成するときに raw コマンドを使用して、HTML を保存せずに生のテキストを保存する方法があるかどうか知っていますか?
コードを貼り付けたい場合はお知らせください。ただし、以下のようにコンテンツが保存されていることがわかります。
[6] pry(main)> s.content
=> "<p>YACHT!</p>\r\n"
[7] pry(main)>
または、正規表現を更新して HTML を含めないようにします。
以下に示すカウント:
def size_limit
book_limit = self.book.size.to_i
word_count = self.content.scan(/\w+/).size.to_i
current_snippets_size = (self.book.get_word_count || 0) + word_count
errors.add(:base, "Content size is too big") unless word_count < BOOK_SIZE[book_limit]['per'] && current_snippets_size < BOOK_SIZE[book_limit]['total']
end
サニタイズジェムを使ってみましたが、うまくいきませんでした。また、以下のモデルでNithinが提案したように試してみました。
word_count = self.content.gsub(/<.*?>/, "").scan(/\w+/).size.to_i
しかし、それもうまくいかないようです。私はここで少し迷っており、これが理解できるまでアプリの他の部分に移動しましたが、この部分は本またはスニペットごとの合計単語数を定義するため非常に重要です.