次のようなコメントの最大長を制限するコメント モデルがあります。
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===
Jon と Dario からの素晴らしい回答を組み合わせて、これを作成しました。
before_validation(:on => :create) do
self.comment = comment.gsub("\r\n","\n") if self.comment
end