コントローラーでバリデーションのエラーメッセージ追加

コントローラーで、バリデーションのエラーメッセージを追加したかった。

URLをブックマークするときに、存在しないURLをエラーとしたかったからだ。

コントローラーに下記のように記載する。

@bookmark = Bookmark.new
@bookmark.errors.add(:url, "は存在しません")

すると、下記のようなエラーメッセージが表示される。

Url は存在しません

メッセージだけを表示したいときは、下記のように記載する。

@bookmark = Bookmark.new
@bookmark.errors.add(:base,"そのURLは存在しません")

すると、下記のようなエラーメッセージが表示される。

そのURLは存在しません

参考:
バリデーションのエラーメッセージの追加 [yagniki]