Переадресация /users/sign_in на неправильный контроллер

Vitals:

  • ruby 1.9.3p194 (редакция 2012-04-20 35410)
  • [i686-linux] Rails 3.2.7
  • Разработать 2.1.2

GET /users/sign_in пытается перенаправить на неправильный контроллер. Он перестал перенаправлять на wecome#welcome (что работает), теперь ans перенаправляет на devise/welcome#welcome, который не существует и вызывает ошибку 500 на перенаправлении со следующей зарегистрированной ошибкой:

ActionController:: RoutingError (Не найдено ни одного маршрута {:controller=>"devise/welcome",:action=>"welcome"}):

Это началось недавно и, похоже, было вызвано чем-то в серии обновлений гемов. Раньше работал отлично.

Кто-нибудь имеет какие-либо идеи, почему это может перестать работать (например, какое обновление какого драгоценного камня) или что я могу с этим поделать?

Редактирование:

Вот корневой маршрут от router.rb:

root :to => "welcome#welcome"

Я вернулся к своему предыдущему развертыванию, и приложение снова работает. Развертывание было до рельсов 3.2.7.

Gemfile:

source 'http://rubygems.org'

gem 'rails', '~> 3.2.1'
gem 'rake'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'pg'

gem 'devise', '~> 2.1.0'
gem 'devise-encryptable', '~> 0.1.1'
gem 'devise_invitable', '~> 1.0.0'

gem 'haml', "~> 3.1.6"
gem "rdiscount", "~> 1.6.8"
gem 'markaby'

gem 'foreigner', "~> 1.1.5"

gem 'ancestry'
gem 'acts_as_list'

gem 'dynamic_form'
gem 'friendly_id', "~> 4.0.0"


gem 'net-ssh', :git => 'git://github.com/nessche/net-ssh.git'


group :assets do
  gem 'sass-rails',   "~> 3.2.3"
  gem 'coffee-rails', "~> 3.2.1"
  gem 'uglifier', "~> 1.2.3"
end

gem 'therubyracer', "~> 0.10.1"
gem 'jquery-rails', "~> 2.0.1"

gem 'newrelic_rpm', "~> 3.3.1"

gem "marginalia", "~> 1.1.0"


group :development do
  gem 'capistrano', "~> 2.12.0"
  gem 'rvm-capistrano'
#  gem "mail_view", "~> 1.0.1", :git => 'https://github.com/37signals/mail_view.git'
#  gem 'rails_admin'
  gem 'rails-footnotes', '>= 3.7.5.rc4'
  gem 'annotate', '~> 2.4.0'
end

# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'

# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
 group :development, :test do
   gem 'webrat'
   gem 'rspec'
   gem 'cucumber'
   gem 'gherkin'
   gem 'spork'
   gem 'spin'
   gem 'capybara'
   gem 'sqlite3'
   gem 'nifty-generators'
   gem 'mocha'
 end

РЕДАКТИРОВАТЬ: 2012-08-27 -
разработка 2.1.2 + рельсы 3.2.6 + путешествие 1.0.3 = работает.
разработка 2.1.2 + рельсы 3.2.6 + путешествие 1.0.4 = неудачи.

разработка 2.1.2 + рельсы 3.2.7 + путешествие 1.0.4 = неудачи.
разработка 2.1.2 + рельсы 3.2.8 + путешествие 1.0.4 = неудачи.

Rails 3.2.7 и 3.2.8, которые являются релизами безопасности, требуют поездки 1.0.4. Это оставляет меня довольно хорошо застрявшим, пока я не смогу найти решение для путешествия.

2 ответа

Решение

У меня была похожая проблема с маршрутизацией Devise в нечетное место (в моем случае "devise/ авторы").

Он был сломан после обновления набора драгоценных камней, которое включало в себя путешествие 1.0.4. Я исправил это, заблокировав путешествие до 1.0.3.

Я исправил аналогичную проблему, проверив помощников link_to в заголовке сайта, который также отображается на страницах регистрации и входа в систему. Пожалуйста, смотрите детали здесь.

Другие вопросы по тегам