2012-09-14 64 views
0

我在用戶登錄後做了dashboard_path的重定向。我相信應該在該控制器中有一個名爲dashboard的操作。但是,當我在控制器中刪除該儀表板動作時,它仍然正常工作。這怎麼可能。?請幫忙。我很困惑。在rails中重定向問題

在會話控制器

def create 
    admin=Admin.find_by_email(params[:session][:email].downcase) 
    user=User.find_by_email(params[:session][:email].downcase) 

    if user && user.authenticate(params[:session][:password]) 
    redirect_to dashboard_path 
    else 
    redirect_to(admins_index_path(:current_admin=>admin)) 
    end 
end 

在用戶控制器(如果我刪除用戶控制這個動作還是它重定向到儀表板頁面..如何?)

def dashboard 
end 

的routes.rb

match '/dashboard' => 'admins/users#dashboard' 

回答

0

它被稱爲'convention over configuration',Rails有很多。如果您在控制器操作中未指定任何renderredirect_to,則Rail的默認行爲是重定向到與該操作具有相同名稱的視圖。

您應該閱讀Action Controller Overview以瞭解關於此主題的更多信息(它是Rails guides的一部分,幷包含有關Rails行爲的大量信息)。