1

TinyMCE を使用して入力された short_description フィールドの長さを検証する必要があります。問題は、最初に HTML タグの文字列を削除する必要があるということです。運の悪い解決策をいくつか試しました。誰かが私を助けてくれることを願っています。

これは私がこれまでに得たものです:

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

未定義のメソッド `strip_tags' のエラーが発生します #

4

1 に答える 1

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を含めることを提案する人もいますが、すべてのヘルパーをモデルにロードして遅くなるため、ベスト プラクティスとは見なされません。

于 2012-10-09T09:21:23.913 に答える