gpt4 book ai didi

error-handling - 使用 Sinatra 显示错误消息

转载 作者:行者123 更新时间:2023-12-04 10:29:21 28 4
gpt4 key购买 nike

我正在编写一个简单的应用程序,它接受用户的标准输入。至于电子邮件条目,我让它验证它是否采用标准电子邮件格式,然后在要保存新实例时列出这样的问题:

u = User.new
u.email = params[:email]
u.save
if u.save
redirect '/'
else
u.errors.each do |e|
puts e
end
end

我知道如果正确,它应该返回主页。如果它是错误的,我也希望它返回主页,但我希望它返回一个错误值(这样我就可以有一个弹出窗口或屏幕上的一些东西让用户知道电子邮件的格式是错误的)。什么是最好的方法来做到这一点?

最佳答案

您可以使用“sinatra-flash” ' gem 显示各种错误/通知等。

u = User.new
u.email = params[:email]
u.save
if u.save
redirect '/'
else
flash[:error] = "Format of the email was wrong."
redirect '/'
end

然后您需要说明您希望 flash[:error] 显示的位置。通常我把它放在 layout.haml 或 (erb) 文件中,就在我在内容中产生的位置。

布局.haml:
- if flash[:error]
%p
= flash[:error]

另外,请确保包含 gem 并启用 session
require 'sinatra'
require 'sinatra/flash'

enable :sessions

你也可以试试' rack-flash ' gem 。在 http://ididitmyway.heroku.com/past/2011/3/15/rack_flash_/ 有使用它的教程

关于error-handling - 使用 Sinatra 显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7136580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com