Ошибка приложения Rails после обновления ОС - PullRequest
0 голосов
/ 11 марта 2011

Я обновил свою систему до opensuse 11.4 и настроил Ruby 1.9.2 через RVM.Я переустановил все драгоценные камни и обновил все без проблем.

Проблема в том, что я получаю смутную ошибку при запуске приложения:

ActionController::RoutingError (undefined method `sub' for nil:NilClass):
app/controllers/application_controller.rb:1:in `<top (required)>'
app/controllers/news_controller.rb:1:in `<top (required)>'

Я даже не знаю, с чего начатьдля проблемы.Оба файла в строке 1 являются декларацией класса.т.е. класс NewsController

Приложение работало отлично до обновления (которое также использовало Rails 3.0.5), поэтому я думаю, что проблема где-то в Rails,кроме запуска нового приложения с простым скаффолдом проблем нет.news#index - это root в файле маршрутов, но изменение root на что-то другое ничего не делает.

EDIT:

resources :categories,:addresses,:calendars,:topics,:profile,:news,:account_setting
resources :boards do
member do
  get :move
  post :move_category
end
end


get "user/index"
get 'login/index'
get 'login/new'
post 'login/create'
post 'login/authenticate'
get 'login/forgot_password'
put 'login/reset_password'

root :to => "news#index"

Ответы [ 2 ]

1 голос
/ 01 августа 2011

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

module AssetHelper
  ...
end

Должно было быть

module AssetsHelper
  ...
end
0 голосов
/ 12 марта 2011

Я решил это, хотя я не знаю, что вызвало это.

Я создал новое приложение и скопировал поверх приложения, маршрутов, БД, lib и public, и проблема исчезла.

...