0
我已經將我的應用程序從rails 2.3.8升級到3.0.3。但是我面臨一個問題。我用的是「發現」,但壓倒一切的不導軌3工作:如何覆蓋'where'in rails 3
# override activerecord's find to allow us to find by name or id transparently
def self.find(*args)
if args.is_a?(Array) and args.first.is_a?(String) and (args.first.index(/[a-zA-Z\-_]+/) or args.first.to_i.eql?(0))
find_by_login_slug(args)
else
super
end
end
我不知道是否有一種方法,使在軌道3,甚至通過使用其中代替這項工作。
感謝
你有沒有聽說過重寫? http://en.wikipedia.org/wiki/Method_overriding。我的問題不在於升級。我已經通過了它。我的問題是當我打電話User.find('任何名字')。它調用了我在rails 2中創建的重寫方法,但在rails 3中給我一個錯誤說:「找不到ID ='任何名稱的用戶'」。因爲它沒有看到壓倒一切的方法 – Zakwan 2011-01-09 12:25:58