2011-05-29 25 views
3

爲了擁有一個註冊後頁面,我添加了一個RegistrationsController和方法來提供一個自定義頁面,告訴用戶檢查他們的電子郵件帳戶確認鏈接。rails 3 + devise:on after_inactive_sign_up_path_for()如何顯示尚未確認的用戶的電子郵件地址?

def after_inactive_sign_up_path_for(resource) 
    "/awaiting_confirmation" 
    end 

是否有任何網頁上的方式(這是由一個誰創造了一個帳戶,但沒有得到證實它,而不是在尚未簽署使用者的方向看),以表明他們用來創建帳戶的電子郵件地址。

我想在網頁說:「我們剛剛收到一封確認鏈接到你[email protected]

但該頁面視圖無法顯示current_user.email因爲CURRENT_USER是零,因爲他們有未登錄。

是否有其他一些設計變量或會話變量,其中包含剛剛創建的註冊信息?

回答

2

這是我們如何解決它...這很容易。

改性在我的自定義註冊控制器在單線控制器方法(在我的問題示出)以:

"/awaiting_confirmation?email=#{resource.email}" 

然後在用於路由/ awaiting_confirmation接收方法我簡單地做

@email = params[:email] 

並在我的視圖中顯示@email變量。

1

您可以通過以下兩種方式來實現,第一種方式是在電子郵件成功發送後向用戶顯示一條Flash消息。您還可以訪問用戶的電子郵件中的變量有那麼這樣的:

:notice => "Email was sent to #{userobject.email}" 

或者你可以這個對象傳遞到您一個註冊後發送給用戶,並用它在那裏的頁面。

解決這個問題的另一種方法是使用令牌對用戶進行身份驗證,然後用戶將被有效登錄,然後可以使用current_user。 因爲你想看看single use token authentication和設計。

+0

我找不到任何關於變量名稱的文檔,它讓我們訪問他們剛剛進入設計註冊表單的電子郵件地址......甚至不能確定在設計例程外可訪問嗎? – jpwynn 2011-05-29 18:17:05

+0

你有用於創建用戶的控制器嗎? – 2011-05-30 00:17:31

+0

據我所知,不,因爲我們正在使用開箱設計gem – jpwynn 2011-06-02 04:24:09

相關問題