2012-10-19 94 views
1

如果我正在查找單個結果而不是集合,是否可以更改默認範圍?我可以根據操作類型更改默認範圍

即Model.find(ID)與Model.all

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

我真的只想範圍我的索引時,我發現記錄的全段認爲這一方式。

當我做一個Model.find(3)我想它給我,即使它不是默認的語言。

回答

0

您可以使用unscoped忽略默認範圍。

model = Model.unscoped.find(1) 

會讓你的模型。

你也可以做

model = Model.find_by_id!(1) 

但我真的認爲你應該考慮不使用默認的範圍的話,那很可能會導致更多的麻煩進一步上。

+0

我最終找到了無人物,這符合我的需求。 –