2011-07-06 6 views
0

私の設定:Rails 3.0.9、Ruby 1.9.2元のコントローラを確認する

私はCancanを使用してコントローラアクションを承認しています。ユーザーが不足しているIDを指定した場合、私は私が望む何を次のコード

application_controller.rb 

rescue_from ActiveRecord::RecordNotFound do |exception| 
    flash[:alert] = "Oops, I cannot find this record, please try again." 
     respond_to do |format| 
      format.html { redirect_to root_url } 
     end 
    end 

この中
flash[:alert] = "Oops, I cannot find this person, please try again." 

「人」のようなものにflashメッセージを設定するには、上記のコードのためにあるきケースは、モデルのいずれか、例えば可能性があり、ユーザーが国のために不足しているIDにアクセスしようとした場合、それはあなたのアイデアを得る

flash[:alert] = "Oops, I cannot find this country, please try again". 

を言う必要があります。私は元のコールとコントローラをつかむことができるはずだと思っています、誰かがこれを行う方法を知っているか、それを行う良い方法がありますか?あなたができる

答えて

3

一つのことはusally文字列がのように見えるが含まexception.messageを解析することで、この

"ID = 03 [WHERE images.state = '公表']で画像が見つかりませんでした"

flash[:alert] = "Oops, I cannot find this #{params[:controller].upcase.singularize}, please try again." 
:しかし、私はこのようなエラー

を引き起こしコントローラとアクションにアクセスするために paramsオブジェクトを使用します

歓迎

+0

素晴らしい、魅力のように働く、ありがとう。 – Bob

関連する問題