Неопределенный метод и ошибки маршрутизации занимают много времени - PullRequest
1 голос
/ 09 февраля 2012

Поскольку я обновил свое приложение с Rails 2.3.5 до Rails 3, на котором в настоящее время работает 3.2.1, неопределенный метод и ошибки маршрутизации занимают много времени.Каждый раз, когда у меня пропускается какой-либо метод, мой Macbook Pro зависает, и через 3/4 минуты я получаю соответствующую ошибку.

Здесь у вас полная трассировка стека, когда у меня есть неопределенный метод, странная вещьто, что на диагностику требуется 149863 мс, это ненормально, я думаю:

https://gist.github.com/1778939

Единственный вызов на уровне приложения, который находится в трассировке стека, - это method_missing в моемapplication_controller.rb, вот метод, который я использую:

def method_missing(method_id, *arguments)
  # Define a authorize_type dynamic authorization thingiemagiggy
  if match = /authorize_([_a-zA-Z]+)/.match(method_id.to_s)
    return authorize(match[1])
  else
    super
  end
end

Я также добавлю трассировку стека из-за ошибки маршрутизации, там, кажется, что представления загружаются целую вечность, но есть толькоссылка на в этих представлениях:

https://gist.github.com/1779027

Кто-нибудь может объяснить мне, почему запуск такого рода ошибок занимает так много времени и как я могу это исправить?

1 Ответ

1 голос
/ 15 февраля 2012

Наконец-то узнал, как это исправить с помощью рельсов на github: https://github.com/rails/rails/issues/1525

Я сделал инициализатор anti_freeze.rb, который содержит:

module ActionDispatch
  module Routing
    class RouteSet
      alias inspect to_s
    end
  end
end
...