Devise でデフォルトを上書きする登録コントローラーを作成しました。すべてがうまく機能していますが、フラッシュ メッセージが表示されます。ユーザーが新しいサインアップを行ったときに、ホームページにリダイレクトして、何が起こっているかについてのフラッシュ メッセージを表示したいと考えています。
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
resource = build_resource(params[:user])
# add custom create logic here
if params[:referrer_key].nil?
puts 'A'
puts resource.inspect
if resource.save
puts 'B'
if resource.active_for_authentication?
#flash[:notice] = "Welcome!" # doesn't work neither
Notification.welcome(@user).deliver unless @user.invalid? # overriding original methods
sign_in(@user)
redirect_to root_url, :notice => "Welcome!"
else
set_flash_message :notice, :"signed_up_but_#{resource.inactive_message}" if is_navigational_format?
expire_session_data_after_sign_in!
respond_with resource, :location => after_inactive_sign_up_path_for(resource)
end
else
clean_up_passwords resource
render 'application/splash'
end
ユーザーが登録され、ログインされ、通知メールも送信されますが、フラッシュ メッセージは表示されません。
フラッシュメッセージを表示する方法:
#flash-display
- flash.each do |type, msg|
%div{:class => "alert alert-#{type == :notice ? "success" : type} fadeout", "data-dismiss" => "alert"}
%button.close ×
= msg if msg.is_a?(String)
通常、フラッシュ メッセージは機能しますが、この場合は機能しません。
私が見逃している可能性があるものは何ですか?
ありがとうございました