読者です 読者をやめる 読者になる 読者になる

おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

クラス定数は継承されない

railsでこんなふうに書いたら

class HogeController < ApplicationController
  def hoge
      begin
        redirect_to :back
      rescue RedirectBackError => e
        redirect_to :controller => "main", :action => "index"
      end
  end
end

こんなエラーが出た。

NameError: uninitialized constant HogeController::RedirectBackError

RedirectBackErrorのスペルミスか?それともRedirectBackErrorなんて存在しないのか?とか思いつつ色々調べた結果、これを

      rescue RedirectBackError => e

こう直したら動いた。

      rescue ActionController::RedirectBackError => e

HogeControllerはActionControllerを継承してるのになんでだろう?
と思ったが、どうもクラス定数は継承できないみたい。