2011-01-29 37 views
3

如何配置我的Rails應用程序,以便在創建新用戶的表單提交後(通過設計),我重定向到我自己想要的頁面?在表單提交後設計覆蓋重定向

謝謝

+1

提供的文檔:https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in – apneadiving 2011-01-30 00:18:55

回答

7

創建用戶提交表單後創建的用戶,然後登錄所以你的頁面將被重定向到實際上是登錄頁面後。如果你只是想改變這個頁面,當用戶創建,你可以在自定義登記控制器這樣的設置session["#{resource_name}_return_to"]

class Users::RegistrationsController < Devise::RegistrationsController 
    def create 
    session["#{resource_name}_return_to"] = some_custom_path 
    super 
    end 
end 

您還可以在routes.rb中,這將重定向爲您的用戶對象根路徑每當他們登錄的所有用戶:

match "user_root" => "users#home" 

最後,你可以在你的application_controller定義after_sign_in_path_for(resource_or_scope)方法,這將讓你有條件地將用戶重定向:

def after_sign_in_path_for(resource_or_scope) 
    if resource_or_scope.is_a?(User) 
    some_custom_path  
    else 
    super 
    end 
end 
請至少閱讀3210