工夫に問題がある。トークンを含むサインアップURLがあります...localhost:3000 / users / sign_up / df293b00ae137b8b6436d45e622304aedc549072
登録が失敗すると(パスワードが一致しないなど)、アプリはlocalhost:3000 / usersにリダイレクトし、モデルからの適切なフラッシュメッセージを表示します。
ただし、トークンを使用してURLにリダイレクトするアプリが必要です。そのため、コントローラーにredirect_to:backをスローすると、元に戻りますが、フラッシュメッセージが表示されません。
ページをリダイレクトして(正確なURLを保持して)、フラッシュメッセージを表示する方法。
deviseコントローラーからのコードは次のとおりです。
def new
resource = build_resource({})
respond_with resource
end
# POST /resource
def create
build_resource
if resource.save
if resource.active_for_authentication?
set_flash_message :notice, :signed_up if is_navigational_format?
sign_up(resource_name, resource)
respond_with resource, :location => after_sign_up_path_for(resource)
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
respond_with resource
end
end
どんな助けでも素晴らしいでしょう!