2012-05-21 40 views
1

我需要驗證使用TinyMCE填充的short_description字段的長度。事情是,我必須首先去掉一串HTML標籤。嘗試了幾個解決方案,沒有運氣。希望有人能夠幫助我。如何驗證Ruby on Rails中的TinyMCE長度?

這是我到目前爲止有:

validates_length_of :description_short, :maximum => 300, :tokenizer => lambda { |string| strip_tags(string).split(//) }, :message => 'too long' 

它會引發錯誤 未定義的方法`用strip_tags'爲#

回答

1

要使用strip_tags的模型,你需要指定它在調用它的那一刻:

ActionController::Base.helpers.strip_tags() 

產生的給定的代碼:

validates_length_of :description_short, :maximum => 300, 
    :tokenizer => lambda { |string| ActionController::Base.helpers.strip_tags(string).split(//) }, 
    :message => 'too long' 

有些人建議在模型的頂部包含ActionController,但它不被認爲是最佳實踐,因爲將所有Helpers加載到模型中,從而減慢它的速度。