[前][次][番号順一覧][スレッド一覧]

rails:2356

From: Asai Arito <arito_asai@f...>
Date: Mon, 03 Sep 2007 17:17:41 +0900
Subject: [rails:2356] Re: create時のidの値

丸井様

浅井です。
リプライありがとうございます。
DBはMySQLの5.1系なので調べてみます。DB側でというのは頭に
ありませんでした。

ただ、「同じオブジェクトの別の属性」はIDを使って(他の属性値
も使って)結構複雑な文字列処理をしなければならないので、できれば
rubyで書いてしまいたい事情もあります。

重ねてありがとうございました。

丸井啓至 さんは書きました:
> 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/
> 

--
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...       ]