如何在Ruby on Rails中验证TinyMCE长度?

时间:2012-05-21 16:39:28

标签: ruby-on-rails validation

我需要验证short_description字段的长度,该字段使用TinyMCE填充。问题是,我必须先删除HTML标签字符串。尝试了几个没有运气的解决方案。希望有人能够帮助我。

这是我到目前为止所得到的:

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

它会引发错误 ## p>的未定义方法`strip_tags'

1 个答案:

答案 0 :(得分: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 ,但它不被认为是最佳做法,因为将所有助手加载到de model中,从而减慢它。