0

システムをopensuse11.4に更新し、RVMを介してRuby1.9.2をセットアップしました。すべてのgemを再インストールし、バンドルをすべて問題なく更新しました。

問題は、アプリの実行時に発生する漠然としたエラーです。

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<ApplicationControllerおよびクラスApplicationController<ActionController::Baseです。どちらのファイルにも「sub」へのメソッド呼び出しはなく、他の情報は提供されません。

アプリはアップグレード前(Rails 3.0.5も使用していた)に完全に機能したので、単純なスキャフォールドで新しいアプリケーションを実行しても問題がないことを除いて、問題はRailsのどこかにあると思います。news#indexルートファイルのrootですが、rootを別のものに変更しても何も起こりません。

編集:

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"
4

2 に答える 2

1

それをすべて行う必要はありません。解決策はおそらくもっと簡単だったと思います。同じエラーが発生しました。ヘルパーモジュールの名前が間違っていたことがわかりました。

module AssetHelper
  ...
end

すべきだった

module AssetsHelper
  ...
end
于 2011-08-01T17:38:45.710 に答える
0

何が原因かはわかりませんが、解決しました。

新しいアプリを作成し、app、routes、db、lib、publicにコピーしたところ、問題は解決しました。

于 2011-03-12T07:48:37.640 に答える