簡體   English   中英

設計:注冊后添加通知(可確認)

[英]devise: adding notice after sign up (with confirmable)

我補充說:隨后確認我的Rails應用程序。 問題是,當我在添加后注冊時:確認我在注冊后沒有收到通知,告訴我發生了什么,例如:

You will receive an email with instructions about how to confirm your account in a few minutes.

為什么不顯示通知,如何在添加后添加該通知:確認?

感謝幫助

注意不會出現,因為設計正在重定向到您的根路徑,該路徑可能受設計認證的保護。 當您點擊root_path時,您將被重定向回sign_in頁面(因為設計無法登錄用戶,因為它尚未激活)。 您可以在輸入用戶信息並點擊“注冊”按鈕后查看開發日志來驗證這一點 - 您將在日志中看到一個注冊用戶的請求,然后導航到您的根URL(您的任何內容) routes.rb)然后由於身份驗證將導航重定向到sign_in頁面。

在重定向期間,所有閃存消息都將丟失(因為閃存消息僅對下一個請求有效),並且當您從root_path重定向到sign_in頁面時,您正在發出請求。 因此,您需要在重定向之前在第一個請求上使用flash.keep,或者更改after_sign_up路徑,以便不會發生重定向。 我建議更改after_sign_up路徑,因為它更容易,看起來是一種正確的方法。

為此,您需要使用自己的控制器進行注冊,並添加after_sign_up_path方法,該方法返回重定向的url:

# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController

  private

  def after_inactive_sign_up_path_for(resource)
    new_user_session_path
  end
end

#config/routes.rb
devise_for :users, :controllers => { :registrations => "registrations" }

我還建議您閱讀類似的問題: Rails 3和Devise:重定向到注冊后的頁面(可確認)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM