1
如何rails4.1.9移動rails2 4和收到錯誤 - 未定義的方法`with_scope '
AuditArea.send(query_options[:include_retired] ? :with_exclusive_scope : :with_scope) {
# some stuff
}
替換此查詢得到錯誤未定義的方法`with_scope'。
如何rails4.1.9移動rails2 4和收到錯誤 - 未定義的方法`with_scope '
AuditArea.send(query_options[:include_retired] ? :with_exclusive_scope : :with_scope) {
# some stuff
}
替換此查詢得到錯誤未定義的方法`with_scope'。
with_scope
現在被稱爲scoping
在較新的Rails版本中。 with_exclusive_scope
現在應該是unscoped
。兩種方法都接受一個塊,以便您的代碼可以正常工作。
有關更多信息,請參閱scoping
和unscoped
的文檔。
更新:如果在類本身上調用scoping
方法不起作用。它必須在示波器上被調用(與在裸露模型類上工作的unscoped
相反)。我會首先加入「無害」的範圍all
(它選擇的所有記錄,因此行爲方式與裸模型類AuditArea
相同)的選擇,這樣的send
工作的這兩種型號:
AuditArea.all.send(query_options[:include_retired] ? :unscoped : :scoping) {
# ...
}
無範圍的作品,但作用域仍然給出錯誤* NoMethodError異常:未定義的方法'作用域'爲 –
你能粘貼完整的錯誤嗎?在Rails 4.1.9中''範圍'**是** [定義的方法](https://github.com/rails/rails/blob/v4.1.9/activerecord/lib/active_record/relation.rb#L290)。 – BoraMa
*** NoMethodError異常:未定義方法'範圍'爲# –