1

スプラッシュページを作成しようとしています。この投稿を見つけましたが、before_filter の構文を正しく取得できないようです。これが私が持っているものです:

 before_filter redirect_to root_path

(ルート パスをスプラッシュ ページに変更しました。)

しかし、次のエラーが表示されます。

Routing Error

undefined local variable or method `root_path' for ApplicationController:Class

私が間違っていることは何か分かりますか?

4

2 に答える 2

3

明確化: root_path は、クラスのセットアップ中にクラス メソッドとしてではなく、インスタンス メソッドとして存在します。したがって、ブロックまたはメソッドの呼び出しは、クラスのロード中ではなく、呼び出しの実際の時間まで呼び出しまたは root_path を延期するために必要です。

何らかの理由で誰かが正解を削除しました: ブロックフォームに移動します:

before_filter do
  redirect_to root_path
end

root_path が :index を指していると仮定すると、次のことができます。

before_filter(:except => :index) do
  redirect_to root_path
end
于 2012-04-12T03:12:32.110 に答える
1

rake routesrootが定義されていることを確認します。

たとえばroot :to => "home#index"、routes.rb ファイルの一番下にあります。

home#index を実際のコントローラー/アクションに置き換えます

于 2012-04-12T03:07:09.987 に答える