我已将我的应用程序从rails 2.3.8升级到3.0.3。但是我遇到了一个问题。我正在使用'find'但是覆盖在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
我想知道是否有办法让它在rails 3中运行,甚至可以使用where。
感谢
答案 0 :(得分:-1)
您面临的问题是从rails 2.3.X升级到rails 3.0.X应用程序。虽然,它似乎是一个简单的任务,但它并不是,特别是如果你有一个真正的应用程序,而不是一个玩具。我建议你看一下Rayn Bates的截屏视频系列,你可以从http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1开始,全面了解你所遇到的问题。
如果你只需要阅读有关ActiveRecord的新界面,http://m.onkey.org/active-record-query-interface是一篇很棒的文章。