Ruby on Rails のスレ ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
215:nobodyさん 08/05/26 22:44:08 >>214 OK トランザクションの中でfor文廻しても問題茄子! でも、for文は変数のスコープルールが変わってて、 for i in 0..3 do Hoge.create(:val=i) end のあとで p i のように変数が参照できちゃうから注意な。 普通は繰り返し変数と同名な変数は書かないが 216:nobodyさん 08/05/26 23:01:46 zf9CrWER 『while や for がスコープを作らない』って件ですね。了解です。 もうちょっと聞かせてください。先の例のような場合、create!にして rescueでエラーハンドリングしとっくのが定番ですか? 217:nobodyさん 08/05/26 23:12:47 >>216 Hoge.transaction do begin create! rescue エラー処理 end end トランザクション内でエラーが発生した時、 ロールバックしたいなら例外を投げないとダメだから 必要だぜ。 218:nobodyさん 08/05/26 23:31:08 zf9CrWER ふむふむ。了解です。 どうもでした。 219:nobodyさん 08/05/26 23:31:51 >>217 スマン。訂正、補足があるよ create!の時は失敗したら自然に raise(RecordNotSaved) が投げられるから rescue しなくてもロールバックされるよ create の時には 自分で発生させないとロールバックされないんだ。 rescue では投げられるエラー受け取って (例外があればロールバックはするから) エラーメッセージ表示したり、redirect_to で前に戻ったりするような 事書くといいよ。 酔って質問に答えるもんじゃねえな・・・正直すまなかった・・・
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4684日前に更新/132 KB
担当:undef