2014-10-04 4 views
0

내가 레일 (자신을 가르치는)와 장난 그리고 난이의 결과로 다음 코드은 그들이 여전히 고안

class HomeController < ApplicationController 

    def index 
     if user_signed_in? 
      redirect_to :controller=>'dashboard', :action => 'index' 
     end 
    end 
end 

을 사용하고 있습니다를 사용하여 홈페이지를 방문 할 수 있도록하면서 페이지에 로그인 한 사용자 리디렉션 위의 코드는 사용자가 로그인했을 때 '대시 보드'로 리다이렉트되었지만 (위대한 경우) 홈페이지에 액세스 할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? 나는 여전히 매우 루비/레일에 익숙하여 문법 등에 익숙해지고있다.

고맙습니다.

답변

0

이 모두는 로그인 후 인덱스를 대시 보드에 로그인 한 사용자 리디렉션 :

class ApplicationController < ActionController::Base protect_from_forgery
def after_sign_in_path_for(resource) sign_in_url = url_for(:action => 'index', :controller => 'dashboard') end end

0

잘못하고 있습니다. 로그인 한 사용자의 모든 요청을 대시 보드 페이지로 리디렉션하고 있습니다. 따라서 홈 페이지를 방문하려고 할 때 로그인 한 사용자는 대시 보드 페이지로 리디렉션됩니다. 사용자가 장치를 통해 로그인하면 대시 보드로 리디렉션됩니다. this을 확인하십시오.

샘플 코드 :

def after_sign_up_path_for(resource) 
    signed_in_root_path(resource) 
end 

그것이 도움이되기를 바랍니다.