如果我正在寻找单个结果而不是集合,是否可以更改我的默认范围?
即。 Model.find(id)vs Model.all
default_scope lambda { where({:language_id => Language.default_or_first.id}) }
当我找到整段记录时,我真的只想以这种方式确定索引视图的范围。
当我做一个Model.find(3)时,我希望它能给我,即使它不是默认语言。
答案 0 :(得分:0)
您可以使用unscoped忽略默认范围。
model = Model.unscoped.find(1)
将为您提供模型。
你也可以
model = Model.find_by_id!(1)
但我真的认为你应该考虑不使用默认范围,这可能会导致更多的麻烦。