技術ネタを書けるような人間になりたいという心情を詠んだ句

Authlogicのエラーメッセージとかバリデーション条件を変更する

はい、私はAuthlogic派です。

皆さんご存知の通り、Authlogic様は認証周りのことを一手に引き受けてくれます。バリデーションもやってくれます。例えば、Authlogic様は4文字以上のパスワードしか許しません。短いパスワードで登録しようものなら

password is too short (minimum is 4 characters)

と、お怒りになられます。しかし私は思うのです。

4文字は短すぎるだろ、と。

そこでバリデーション条件を変更します。ついでにメッセージも変えちゃいます。
ドキュメントを見るとvalidates_length_of_password_field_optionsという属性を持っていて、merge_validates_length_of_password_field_optionsメソッドを用いることでバリデーションオプションを変更できるようです。うむ、長い。

実際やるときはこんな。

class User < ActiveRecord::Base
  acts_as_authentic do |c|
    c.login_field = :email

    merge_validates_length_of_password_field_options minimum: 8, message: '短けぇよ!'
  end
end

typo不可避