1

(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

しかし、それもうまくいかないようです。私はここで少し迷っており、これが理解できるまでアプリの他の部分に移動しましたが、この部分は本またはスニペットごとの合計単語数を定義するため非常に重要です.

4

1 に答える 1

2

使用するs.content.gsub(/<.*?>/, "")

また

サニタイズが使える

モデルで使用するには、このリンクを参照してください

于 2013-11-15T10:44:16.287 に答える