2008-01-01から1年間の記事一覧

belongs_to した先の id が取得できない時の対処

model A と B に association があって、 A は has n, :b B は belongs_to :a という状態だとする。 普通は A#b.id で A の親の B の id が取得できそうなものだけど、これがなぜか取得できない。A#b_id でもダメ。こんな時は、次のように対処する。 A.b # 1…

DataMapper で Transaction を何重に使ってもうまく動かす

Transaction を使用中に更に Transaction を使用すると、内側の Transaction で commit が発生したときに、一旦 commit されてしまって都合が悪いので、 commit を最後にまとめて行うライブラリを作成した。↓ライブラリ本体 class SafeTransaction def self.…

FLOATで誤差が出る例

FLOATで誤差が出るというのは良く言われているわけだが、具体的な例を挙げろと言われると中々見つけるのが困難だったりしたのだが、ちょうど良い例を見つけたので、メモ。 irb(main):001:0> 7.2 => 7.2 irb(main):002:0> 6.0 * 1.2 => 7.2 irb(main):003:0> …

DataMapper の Transaction の動き

Transaction 自体は次のような書き方で動く。http://www.datamapper.org/doku.php?id=docs:transactions には他の記法が紹介されているけど、こっちの方がシンプルで楽。 DataMapper::Transaction.new(User) : (なんか処理) : end Transactionを多重に行うと…

DataMapper の論理削除

Model にこれを書くだけで、論理削除できるみたい。論理削除は Paranoia なんだ...。 property deleted_at, ParanoidDateTime 論理削除したものを無理矢理にでも読み込むのはどう実現するのだろうか?

開設

日々、色々な技術情報などが集まってくるので、それを記録するためにブログを開設する。 とりあえず、当面扱いそうなこと。 Ruby Merb + DataMapper Javascript その他インフラ回り