読者です 読者をやめる 読者になる 読者になる

モンモンブログ

Ruby, Python, PHP, JavaScript/jQuery などなど気分に応じて

Rails5 の or クエリがバグを誘発しそうで超怖い

Rails5 になって ActiveRecord に or クエリが導入されました。早速、既存のコードを書き換えようとしたんですが、かなり慎重に使わないと結合順序のワナに嵌ってバグりそうで怖いです。 このような(間の抜けた)コードがあったとします。 Country. where(i…

DelayedJob による非同期処理の失敗を exception_notification でエラー通知させる

delayed_jobs による非同期処理時に、exception_notification によるエラー通知メール送信を行う - Qiita こちらの記事を参考に DelayedJob のエラー通知を実装していたんですが、 Rails5 で alias_method_chain が Deprecated になってしまったので Module.…

Rubyで2項演算子が単項演算子に化けて悪さする話

DateTime.now + 1.hour と DateTime.now +1.hour は異なる値を返します。 何を言ってるのかわからねーと思うがこの実行結果を見てくれ。こいつをどう思う? [10] pry(main)> DateTime.now + 1.hour Fri, 29 Jan 2016 11:38:52 +0900 # こっちだと 11:38 [11]…

ActionMailerのメール本文がログに出力されるのを抑制

メール本文がログに出力されるとログ容量を圧迫するので(あとウザいので)出力を抑制しました。 環境 $ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin13] $ rails -v Rails 4.2.5 事象 メーラーでメールを送信すると、デフォルトでメー…

ActiveRecordのscope,validatorでの意図せぬキャッシュに要注意

クリティカルなバグの原因になりえます(なりました)。 環境 少々古いです。activerecord の最近のバージョンでは未確認です。 ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-darwin13.3.0] rails-3.2.11 activerecord-3.2.11 MacOSX Mavericks 現象…

Action Mailerのマルチパートメールでファイル形式の優先順位が変わっちゃう件

Action Mailer でマルチパートメールを送るようにしていて、かつ mail メソッドにブロックを渡す場合は注意が必要です。html 版、text 版の優先順位が意図せず変わってしまう場合があります。 環境 MacOSX Mavericks ruby 1.9.3p547 (2014-05-14 revision 45…