アカウント名のValidationエラーメッセージ

いつもどう書くか迷うので有名どころで、簡単にエラーを表示できるサービスのを確認してみた。

GitHub

  • Username may only contain alphanumeric characters or dashes and cannot begin or end with a dash

Twitter

  • Invalid username! Alphanumerics only and not all numeric.

Yahoo

  • Your username must begin with a letter.
  • Your username cannot end in an underscore or a period.
  • Only letters, numbers, underscores, and one period are allowed.

GitHubのが1文に収まってていい感じ。

undefined method `RecordNotFound' for ActiveRecord:Module

raise ActiveRecord::RecordNotFound if @foo.blank?

みたいなことをやろうとしたら上記のエラーが発生。
一瞬、なんで??ってなった。

原因は、

raise ActiveRecord::RecordNotFound @foo.blank?

になっていたため。

ifがないので、

raise ActiveRecord::RecordNotFound(@foo.blank?)

と解釈されてしまっていた。

New Relicにいつまでたってもデータが飛ばない

$ cap production unicorn:stop unicorn:start

でいけた。restartだとダメだった。

古いgemを使ってると、Unicornでデータが飛ばないというのも別件でハマった。
No data with Unicorn | New Relic Documentation

exception reentered

RailsでページをTree構造にしたくて、parent_idというカラムを追加して親を選択するようにした。
目視のテストではうまく行っているように見えたが、RSpecを実行するとFeature specsでexception reenteredというエラーが発生した。

一瞬「何これ?」と思ったけど、view内でrenderが無限に呼び出されてるとこのエラーが起きるらしい。

collection_selectinclude_blanktrueにしていなかったため、自分自身が親として設定されて、無限ループになっている、というオチだった。

そもそもValidationも設定すべきところなので、そこも修正。
無事、解消。


before_save内で誤って無限ループになった時にもこのエラーになった。stack level too deepではなく。

auキャンペーンサポートセンター

「auキャンペーンサポートセンター」を名乗る電話番号から電話がかかってきたが、本当にKDDIからの電話か?│ au Q&Aプラス

以前は「迷惑電話」と電話帳に登録していたので出ずに済んでいたが、今の機種に変えてから登録を忘れてた。