Разработайте слишком большой уровень ошибки стека - PullRequest
0 голосов
/ 06 августа 2011

После установки Devise Я пытаюсь запустить

**rake db:migrate**

но это дает:

**rake aborted!
stack level too deep**

Я на Ubuntu, изменилось

**ulimit -s unlimited**

и проверил, работает, но все равно есть ошибка.

Я использую RVM , пытался работать с Ruby1.9.2-p180, Ruby-1.9.2-p0 , с Rails 3.0.9, Rails 3.1rc4 с Рубином. Пробовал с SQLite3 и с PostgreSQL. Попытался раскомментировать как можно больше из файла миграции.

Прочитайте все связанные сообщения Stackoverflow (и понял, что у меня на самом деле называется StackOverflow).

Любая помощь будет высоко оценена! Большое спасибо

Ответы [ 2 ]

2 голосов
/ 06 августа 2011
Слишком глубокие ошибки

на уровне стека обычно возникают из-за бесконечных проблем рекурсии

Новый ответ:

Я забыл, что это происходило во время db: migrate. Есть ли что-то в миграции пользовательских таблиц, основанное на чем-то, что будет зависеть от этого?

Старый ответ:

Было бы полезно показать строки кода, которые есть в вашем файле rout.rb для устройства. Например, вы можете иметь:

devise_for :users, :controllers => { :registrations => "registration/foo" }

В этом примере взгляните на новый метод в foo_controller.rb. Если этот метод перенаправляет на другой контроллер, который заставляет вас попытаться зарегистрироваться снова, у вас будет бесконечная рекурсия.

Первое, что я хотел бы сделать, это посмотреть на то, какие контроллеры вызываются, поместив в контроллеры какой-то отладочный вывод. Попробуйте:

logger.debug("i am in foo")

или

puts "i am in bar"

Если вы сможете предоставить больше информации, я, возможно, смогу помочь больше.

2 голосов
/ 06 августа 2011

Вы пробовали bundle exec rake db:migrate?

...