を検証:私は、入力フィールドを持っている私の見解ではレール、私はのようにコメントの最大長を制限するコメントモデル持つ入力フィールドのMAXLENGTH
validates_length_of :comment, :maximum => 500
が宣言:
<%= f.text_area :comment,:as => :text, :maxlength => 500 %>
入力フィールドの制限は期待どおりに機能し、最大500文字に制限されます。
ただし、モデルの制限は期待どおりに機能しません。改行を含む500文字のテキストは、検証エラーを示します。このモデルは、改行を2文字でカウントします(また、他の文字も可能です)。この入力が動作しますので、
、無改行:
abc abc abc abc....
これはしません:
abc
abc
.
.
は1つの文字として改行(およびその他)をカウントするvalidates_length_ofを作るための簡単な方法はありますか? 。
===結果1 ===
私はジョンとダリオからの偉大な答えを組み合わせて、これを作成しました:
before_validation(:on => :create) do
self.comment = comment.gsub("\r\n","\n") if self.comment
end