4

ルートルートがあります

root :to => 'home#index'

これは私のホームコントローラー用であり、http://localhost:3000/すべての作品にアクセスすると、適切なホームコントローラーとインデックスアクションをヒットします。次に、このgem rails_adminをインストールしましたが、アクセスhttp://localhost:3000/adminすると、アプリケーションコントローラーのメソッドにヒットします

rescue_from CanCan::AccessDenied do |exception|
  redirect_to root_path, :alert => exception.message
end

このエラーが発生しました。ルーティングエラーが発生した可能性はありますか...何か考えはありますか

Routing Error

No route matches {:controller=>"home"}
4

3 に答える 3

4

エンジンまたは 内でアプリのルートを参照している場合はconfig/initializers/rails_admin.rb、接頭辞を付ける必要があります。main_app.

redirect_to main_app.root_path, :alert => exception.message

于 2012-01-19T10:07:03.787 に答える
3

問題は、独自のルーティングを持つrails_adminエンジンにHomeControllerがなく、どういうわけかそこで停止することだと思います(エンジンにそのようなコントローラーがないため)。私は使ってみます:

redirect_to root_url

またはこれさえ

redirect_to '/'

この最後の方法は、レールがURLを呼び出してパスを把握する必要がないことを意味し、エンジンを使用する場合の方が安全な場合があります。

于 2011-10-06T03:35:12.990 に答える
-1

ホームコントローラーが定義されていないようです。

これを「ルート」定義の上に追加してみてください。

resources :home, :only => :index

また、Rails サイトの公式ルート ガイドを読むことをお勧めします。

于 2011-10-06T02:35:38.367 に答える