web-dev-qa-db-ja.com

ルート-public / index.htmlにリダイレクトするにはどうすればよいですか?

Application/publicフォルダーのindex.htmlにリダイレクトしたいです。

def get_current_user
   @current_user = current_user
   if @current_user.nil?  
      redirect_to root_path
   end 
end

どうすればこれを達成できますか?

Routes.rbのルートを変更していません(まだコメントされています)

 # root :to => "welcome#index"

Root_pathが未定義であるというエラーが表示されます。

Root.pathがpublic/index.htmlを指すようにroutes.rbを変更するにはどうすればよいですか?

24
geeky_monster

あなたがしたいことはRails互換性がありません。

RailsはMVC、Cはコントローラー、Vはビューです。

したがって、その内部には両方が必要です。

OK、デフォルトでpublic/index.htmlが表示されますが、これはプロセスがバイパスされるからです。

そのため、staticアクションとそれに対応するビューを持つindexコントローラーを作成できます(現在のpublic/index.htmlfileの内容をコピー/貼り付けするだけです)。

次に設定:

root :to => "static#index"

そして、public/index.htmlファイルを削除してください:)

4
apneadiving

コントローラー上

 redirect_to root_path (will redirect to root '/')
8
Rahul Patel

ルートファイル:

     root 'main#index'

コントローラ:

     class MainController < ApplicationController
       def index
         redirect_to '/index.html'
       end
     end

そしてRails 4コントローラーアクションライブ

4
copremesis