1

我有以下(CKEditor)用于 Rails 的宝石。一切正常,但是我遇到的问题是我正在尝试使用 Rails 执行字数统计,并且因为 CKeditor 正在保存一个奇怪的字符串,所以这不起作用。

您知道是否有办法在创建片段时使用原始命令,以便不保存 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

我尝试使用 sanitize gem,但似乎没有用。我也尝试过像下面模型中建议的 Nithin 那样做。

word_count = self.content.gsub(/<.*?>/, "").scan(/\w+/).size.to_i

然而,这似乎也不起作用。我在这里有点迷茫,已经转移到应用程序的其他部分,直到我弄清楚这一点,尽管这部分非常重要,因为它定义了每本书或片段的总字数。

4

1 回答 1

2

利用s.content.gsub(/<.*?>/, "")

或者

您可以使用消毒

要在模型中使用,请参阅此链接

于 2013-11-15T10:44:16.287 回答