You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLがDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(
Rails 2.0になってpaginateが使えなくなったので慌てて、じゃーどーすんのってところが一応落ち着いたので、まとめ(一部再掲) そもそも今までできたpaginationができなくなるってのはどうなのよ(!)と思うのだが、何はともあれ、Rails2.0ではpaginateができなくなってプラグインでやれという判断が下ったらしい。まあ、確かにViewに依存したコードがあまりActiverecordの側にあるのも気持ちが悪い気もするが...。 paginating_findとwill_paginate メジャー(?)なpaginationプラグインにはpaginating_findとwill_paginateがあるらしい。なかでもwill_paginateちょっと非効率なSQLがあるとか。(大きな問題ならいずれ直ると思うが)paginating_findのほうが自分的には気に入ったので
1.conditions句をシンボル使ってDRYに書くconditions句って実はシンボル使えるらしいのです。最近まで知りませんでした。というわけで、?だと:conditions =>["(prefecture_id = ? and user_id = ?) or (other_prefecture_id = ? and other_user_id = ?)", 11, 2, 11, 2] と、分けわかんなくなっちゃう様な検索文を:conditions =>["(prefecture_id = :prefecture_id and user_id = :user_id) or (other_prefecture_id = :prefecture_id and other_user_id = :user_id)", {:prefecture_id => 11, :user_id =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く