rails:2355
From: 丸井啓至 <marui@a...>
Date: Mon, 03 Sep 2007 16:58:20 +0900
Subject: [rails:2355] Re: create時のidの値
Asai Arito さんは書きました: > 浅井と申します。 > > ActiveRecordの新規作成時に、auto incrementされる > IDの値を用いて、同じオブジェクトの別の属性を決定したいのです。 > > 最初、一旦saveしてから、idを取得して、属性を変更して再度save > していたのですが、ここをコールバックを用いて書き直しています。 > > after_createの中でidを取得して、再度saveすると無限呼び出しに > なってしまいますよね? > > コールバックの中でのsaveで再度コールバックされないように > するか、もしくは、before_saveの中でidをあらかじめ知る方法など > はあるでしょうか? > > 前者であればフラグでコールバック中でreturnしてもよいのですが、 > コールバックが他にも呼び出しを持っているので避けたいです。 > > よい知恵、私の調査不足な点がありましたらご教示ください。 > よろしくお願いします。 浅井さん、はじめまして。 データベースは何をターゲットとしているのでしょうか。 Railから逸脱しますが、浅井さんの問題は、データベースが、ストアド・プロシ ジャとトリガーの機能を持っていたら実現は簡単です。PostgreSQLなら実装 されている機能ですし、MySQLも5.1以降なら実装されてたと記憶してます が... -- ML: rails@r... 使い方: http://QuickML.com/
2349 2007-09-01 16:41 [jyo555@w... ] データーベースに接続できない 2350 2007-09-02 09:31 ┗[parin_25@m... ] 2352 2007-09-02 17:28 ┗[jyo555@w... ] 2353 2007-09-03 08:10 ┣[water@t... ] 2362 2007-09-04 19:15 ┃┗[jyo555@w... ] 2354 2007-09-03 08:44 ┗[arito_asai@f... ] create時のidの値 -> 2355 2007-09-03 09:58 ┣[marui@a... ] 2356 2007-09-03 10:17 ┃┗[arito_asai@f... ] 2357 2007-09-03 10:23 ┣[bsdmad@g... ] 2358 2007-09-03 09:58 ┗[t-makino@w... ]