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