2013-11-15 53 views
1

我有以下用于Rails的gem (CKEditor)。这一切都工作正常但是我遇到的问题是我试图用Rails执行一个字计数,因为CKeditor正在保存一个奇怪的字符串,这是行不通的。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 

我尝试使用了sanitize宝石,但它似乎没有工作。我也尝试过像Nithin在模型中提出的那样。

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

但是,这似乎也不工作。我有点迷失在这里,并转移到应用程序的其他部分,直到我可以弄清楚这一点,虽然这部分是非常重要的,因为它定义了每本书或代码片段的总词数。

回答

2

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

您可以使用Sanitize

在使用模型中看到这个link

+0

我将能够使用该模型对WORD_COUNT。即:Sanitize.clean(word_count) –

+0

我没有尝试,但必须做。 – Nithin

+0

nope不能在模型中工作,我不知道我怎么才能得到那个工作只是为了那个对象... –