我需要验证short_description字段的长度,该字段使用TinyMCE填充。问题是,我必须先删除HTML标签字符串。尝试了几个没有运气的解决方案。希望有人能够帮助我。
这是我到目前为止所得到的:
validates_length_of :description_short, :maximum => 300, :tokenizer => lambda { |string| strip_tags(string).split(//) }, :message => 'too long'
它会引发错误 ## p>的未定义方法`strip_tags'
答案 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中,从而减慢它。