我有一個rails應用程序,我有一個訂單模型,今天有範圍查詢所有今天創建的訂單。Rails4:爲什麼每次編輯模型範圍時都需要重新啓動控制檯?
應用程序/模型/ order.rb
scope :today, -> { where("created_at >= ?", Time.current.in_time_zone("Zone").beginning_of_day) }
,這是在控制檯做工精細,直到我決定把一些功能添加到這個範圍,並進行修改......
scope :today, -> { where("shift_id = ? AND created_at >= ?", 1, Time.current.in_time_zone("Zone").beginning_of_day) }
和保存,然後當我返回到控制檯測試此編輯時,控制檯不斷給我與編輯前相同的結果。直到我重新啓動Rails控制檯。
爲什麼會發生這種情況?它讓我懷疑它會影響應用程序的性能或生產時的行爲。
此外,它讓我覺得應用程序性能更好地將此範圍拆分爲兩個範圍,然後使用範圍鏈?
回覆:性能鏈的性能較差,但更重要的是,它對可維護性進行了優化,這更加昂貴。你幾乎總是應該做些更容易改變,測試和理解的事情。 – coreyward