2016-06-11 51 views

回答

1

with_scope現在被稱爲scoping在較新的Rails版本中。 with_exclusive_scope現在應該是unscoped。兩種方法都接受一個塊,以便您的代碼可以正常工作。

有關更多信息,請參閱scopingunscoped的文檔。

更新:如果在類本身上調用scoping方法不起作用。它必須在示波器上被調用(與在裸露模型類上工作的unscoped相反)。我會首先加入「無害」的範圍all(它選擇的所有記錄,因此行爲方式與裸模型類AuditArea相同)的選擇,這樣的send工作的這兩種型號:

AuditArea.all.send(query_options[:include_retired] ? :unscoped : :scoping) { 
    # ... 
} 
+0

無範圍的作品,但作用域仍然給出錯誤* NoMethodError異常:未定義的方法'作用域'爲 –

+0

你能粘貼完整的錯誤嗎?在Rails 4.1.9中''範圍'**是** [定義的方法](https://github.com/rails/rails/blob/v4.1.9/activerecord/lib/active_record/relation.rb#L290)。 – BoraMa

+0

*** NoMethodError異常:未定義方法'範圍'爲#

相關問題