2

Rails 3 での ActiveModel の導入により、ActiveRecord::RecordNotFound を呼び出す新しいメソッドが用意されました。ActiveModel::RecordNotFound ?

4

2 に答える 2

0

ActiveModel は、実装されるモジュールと規則のセットです。主な目標は、マッパーに共通のインターフェイスを提供することです。それ以上でもそれ以下でもありません。いいえ、ActiveRecord::RecordNotFoundとどまりますActiveRecord::RecordNotFoundRecordNotFoundは、すべてのマッパーにとって意味があるわけではありません。たとえば、Mongoid ではDocumentNotFound(まあ、Mongoid::Errors::DocumentNotFound)

于 2012-09-25T13:41:30.237 に答える
0

これはActiveModelの定義 ( 1 ) です。

ActiveModel は、Rails がカスタマイズされたコントローラー コードを生成できるようにするために、各 ORM によって実装されるクラスです。

ActiveRecord は ActiveModel を実装しています。ActiveRecord は、指定された ID またはデータベース内の ID のセット ( 2 ) でレコードが見つからない場合、 ActiveRecord::RecordNotFound 例外を発生させます。

つまり、ActiveModel::RecordNotFound のような例外はあり得ません。

于 2012-09-25T13:32:13.467 に答える