railsでカウントアップとか

| | コメント(0) | トラックバック(0)

例えばブックマークに追加した人をDBにカウントアップしていく場合とか、active_recordには便利なメソッドがある。
Hoge.update_counters(id, counters) だ。

bookmark_countがカラム名だとすると
Hoge.update_counters(1, :bookmark_count => 1)
みたいにする。

そうすると
update hoge
set bookmark_count = bookmark_count + 1
where id = 1
という感じに処理してくれる。

カラムのところはcountersとなっていて、どうやらいくつでも指定できるっぽい。
僕は必要なかったからやってないけど。

エラーがでたらそれはたぶん引数の型がおかしいのでご確認ください。
例えばidをクエリから拾ってくる場合は、intに変換する必要があったりとか。
Hoge.update_counters(params[:id].to_i, :bookmark_count => 1)

あと、カウント値はマイナスでもよいようです。
あと、文体で唯一統一していた一人称も、てきとーにすることにしました。

以上、よろしくお願いします。

トラックバック(0)

このブログ記事を参照しているブログ一覧: railsでカウントアップとか

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/184

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ぴろしが2008年7月 4日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「XREAで自分のrailsアプリを動かしてみる。」です。

次のブログ記事は「SeesaaブログからMTに引越しました。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。