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 是一个由每个 ORM 实现的类,以允许 Rails 生成自定义的控制器代码。

ActiveRecord 实现 ActiveModel。当 ActiveRecord 在数据库中找不到给定 id 或一组 id ( 2 ) 的记录时,它会引发其 ActiveRecord::RecordNotFound 异常。

这意味着不可能有像 ActiveModel::RecordNotFound 这样的异常。

于 2012-09-25T13:32:13.467 回答