1

如果我正在寻找单个结果而不是集合,是否可以更改我的默认范围?

即 Model.find(id) 与 Model.all

default_scope lambda { where({:language_id => Language.default_or_first.id}) }

当我找到一整段记录时,我真的只想以这种方式限定我的索引视图。

当我执行 Model.find(3) 时,我希望它能够提供给我,即使它不是默认语言。

4

1 回答 1

0

您可以使用 unscoped 忽略默认范围。

model = Model.unscoped.find(1)

会给你你的模型。

你也可以

model = Model.find_by_id!(1)

但我真的认为你应该考虑根本不使用默认范围,这可能会导致更多的麻烦。

于 2012-10-20T02:12:23.237 回答