Как переопределить «где» в рельсах 3 - PullRequest
0 голосов
/ 09 января 2011

Я обновил свое приложение с рельсов 2.3.8 до 3.0.3.Но я столкнулся с проблемой.Я использовал 'find', но переопределение не работает в рельсах 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 или даже использовать вместо этого где.

спасибо

1 Ответ

0 голосов
/ 09 января 2011

Проблема, с которой вы сталкиваетесь, - это обновление с rails 2.3.X до приложения rails 3.0.X.Хотя это может показаться простой задачей, особенно если у вас есть настоящее приложение, а не игрушечное.Я предлагаю вам взглянуть на сериал из фильма Рэйна Бейтса, вы можете начать с http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1, чтобы получить полное представление о проблеме, с которой вы столкнулись.

Если вам нужно только прочитать оНовый интерфейс ActiveRecord http://m.onkey.org/active-record-query-interface - отличная статья.

...