首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否在重定向到新视图时保留rails中的验证错误消息?

在Rails中,重定向到新视图时默认情况下是不会保留验证错误消息的。这是因为重定向会导致HTTP请求的结束,而验证错误消息是存储在flash中的,flash在请求结束后会被清空。

如果希望在重定向到新视图时保留验证错误消息,可以通过以下几种方式实现:

  1. 使用session来存储验证错误消息:可以将验证错误消息存储在session中,然后在重定向后的新视图中从session中读取并显示错误消息。这样可以确保错误消息在重定向后仍然可用。但需要注意的是,使用session存储错误消息可能会增加服务器的负载和存储开销。
  2. 使用flash.now来显示错误消息:flash.now是flash的一个特殊方法,可以在当前请求中显示flash消息,而不会将其存储到下一个请求中。可以在控制器中使用flash.now来设置验证错误消息,并在新视图中显示它们。这样可以确保错误消息在重定向后仍然可见,而不会在下一个请求中显示。
  3. 使用模型实例变量传递错误消息:在控制器中,可以将验证错误消息存储在模型实例变量中,然后在重定向后的新视图中直接使用该实例变量来显示错误消息。这种方式不需要使用flash或session,可以直接在视图中访问错误消息。

需要根据具体的业务需求和代码结构选择合适的方式来保留验证错误消息。在实际开发中,可以根据具体情况选择使用哪种方式或结合多种方式来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HTTP 响应代码

成功含义取决于HTTP方法: GET:资源已被提取并在消息正文中传输。 HEAD:实体标头位于消息正文中。 POST:描述动作结果资源消息传输。...如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 Precondition Failed 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...这个状态码允许客户端获取资源在请求元信息(请求头字段数据)设置先决条件,以此避免该请求方法被应用到其希望内容以外资源上。

1.3K10

HTTP响应代码详解

HTTP状态码负责表示客户端HTTP请求返回结果、标记服务器端处理是否正常、通知出现错误等工作。状态码由3位数表示,数字第一位定义了响应类。...HEAD:实体标头位于消息正文中。 POST:描述动作结果资源消息传输。 TRACE:消息正文包含服务器收到请求消息 201 Created 该请求已成功,并因此创建了一个资源。...如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 Precondition Failed 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。

1.3K00
  • RFC2616-HTTP1.1-Status Code(状态码规定部分—译文)

    此响应主要用于允许输入动作而不引起对用户代理活动文档视图更改,尽管任何或更新元信息都应应用于当前在用户代理活动视图文档。   ...Note:当收到301状态码后自动重定向POST请求,一些现有的HTTP/1.0用户代理将错误地将其更改为GET请求。...该方法主要用于允许POST激活(POST-activated)脚本输出将用户代理重定向所选择资源。URI不是最初请求资源替代引用。...10.4.2 401 未经授权(Unauthorized)   发出请求需要验证用户身份信息。...HTTP询问相关身份验证详细说明“HTTP身份验证:简单扼要地访问身份验证[43]”。 10.4.3 402 支付要求(Payment Required)   该状态码会在未来提供使用方法。

    1K40

    RFC2616-HTTP1.1-Status Code(状态码规定部分—译文)

    此响应主要用于允许输入动作而不引起对用户代理活动文档视图更改,尽管任何或更新元信息都应应用于当前在用户代理活动视图文档。   ...Note:当收到301状态码后自动重定向POST请求,一些现有的HTTP/1.0用户代理将错误地将其更改为GET请求。...该方法主要用于允许POST激活(POST-activated)脚本输出将用户代理重定向所选择资源。URI不是最初请求资源替代引用。...10.4.2 401 未经授权(Unauthorized)   发出请求需要验证用户身份信息。...HTTP询问相关身份验证详细说明“HTTP身份验证:简单扼要地访问身份验证[43]”。 10.4.3 402 支付要求(Payment Required)   该状态码会在未来提供使用方法。

    95920

    带你认识 flask 用户登录

    用户登入 让我们回顾一下登录视图函数,它实现了一个模拟登录,只发出一个flash()消息。现在,应用可以访问用户数据,并知道如何生成和验证密码哈希值,该视图函数就可以完工了。...密码验证,将验证存储在数据库密码哈希值与表单输入密码哈希值是否匹配。所以,现在我有两个可能错误情况:用户名可能是无效,或者用户密码是错误。...该函数会将用户登录状态注册为已登录,这意味着用户导航到任何未来页面,应用都会将用户实例赋值给current_user变量。 然后,只需将登录用户重定向主页,我就完成了整个登录过程。...当一个没有登录用户访问被@login_required装饰器保护视图函数,装饰器将重定向登录页面,不过,它将在这个重定向包含一些额外信息以便登录后回转。...攻击者可以next参数插入一个指向恶意站点URL,因此应用仅在重定向URL是相对路径才执行重定向,这可确保重定向与应用保持同一站点中。

    2.1K10

    HTTP1.1协议状态码

    100 目的是允许正在发送带有请求正文请求消息客户端确定源服务器是否愿意接受请求(基于请求标头)客户端发送请求正文之前。...诠释: 使用300作为响应码, 一般 get或head请求, 才可以, 因为这两部分都属于资源访问, 而这部分资源代理服务器不能够解决是, 推荐客户目标资源地址访问, 但要由客户端检测,是不是无限重定向...注意:之后自动重定向POST请求 收到301状态代码,一些现有的HTTP / 1.0用户代理 会错误地将其更改为GET请求。...存在此方法主要是为了允许POST激活脚本输出将用户代理重定向所选资源。URI不能替代原始请求资源。303响应一定不能被缓存,但是对第二个(重定向)请求响应可能是可缓存。...HTTP访问身份验证“ HTTP身份验证:基本和摘要访问身份验证” ---- 402 Payment Required (需要付款) 该代码保留供将来使用。

    2.7K40

    常见HTTP状态码有哪些「建议收藏」

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用 GET 方式访问 Location 规定 URI,...303对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...添加了表明请求消息体长度有效 Content-Length 头之后,客户端可以再次提交该请求。 412服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。 客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    99520

    python接口自动化(七)--状态码详解对照表(详解)

    -399 重定向,用于移动文件并且常被包含在定位头信息制定地址信息 4XX 400-499 客户端错误,用于指出客户端错误 5XX 500-599 服务器错误,用于指出服务器错误 常见状态码...如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。   ...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用 GET 方式访问 Location 规定 URI,...303 对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。

    1.2K41

    Http常见状态码

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用 GET 方式访问 Location 规定 URI,...这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。这个 URI 不是原始资源替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。...412 Precondition Failed 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    1K30

    HTTP状态码对照表(全部状态_建议收藏)

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。   ...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用 GET 方式访问 Location 规定 URI,...303 对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。   客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    1.5K20

    HTTP状态码大全

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用 GET 方式访问 Location 规定 URI,...这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。这个 URI 不是原始资源替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。...412 Precondition Failed 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。 客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    1.4K40

    带你认识 flask web 表单

    一些字段中看到可选参数validators用于验证输入字段是否符合预期。DataRequired验证器仅验证字段输入是否为空。更多验证器将会在未来表单接触到。...当form.validate_on_submit()返回True,登录视图函数调用从Flask导入两个函数。 flash()函数是向用户显示消息有效途径。...登录视图函数中使用第二个函数是redirect()。这个函数指引浏览器自动重定向参数所关联URL。当前视图函数使用它将用户重定向应用主页。...如果你尝试过提交无效数据,相信你会注意,虽然验证机制查无遗漏,却没有给出表单错误具体线索。下一个任务是通过验证失败每个字段旁边添加有意义错误消息来改善用户体验。...实际上,表单验证器已经生成了这些描述性错误消息,所缺少不过是模板一些额外逻辑来渲染它们。

    2.3K20

    HTTP状态码详解

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...303 对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。 客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。...5xx 服务器错误 这类状态码代表了服务器处理请求过程中有错误或者异常状态发生,也有可能是服务器意识以当前软硬件资源无法完成对请求处理。

    48310

    Flask表单之WTForms和flask-wtf

    一些字段中看到可选参数validators用于验证输入字段是否符合预期。DataRequired验证器仅验证字段输入是否为空。更多验证器将会在未来表单接触到。...当form.validate_on_submit()返回True,登录视图函数调用从Flask导入两个函数。 flash()函数是向用户显示消息有效途径。...登录视图函数中使用第二个函数是redirect()。这个函数指引浏览器自动重定向参数所关联URL。当前视图函数使用它将用户重定向应用主页。...如果你尝试过提交无效数据,相信你会注意,虽然验证机制查无遗漏,却没有给出表单错误具体线索。下一个任务是通过验证失败每个字段旁边添加有意义错误消息来改善用户体验。...实际上,表单验证器已经生成了这些描述性错误消息,所缺少不过是模板一些额外逻辑来渲染它们。

    4K20

    HTTP所有常用状态码含义

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。 ...303 See Other 对应当前请求响应可以另一个URI上被找到,而且客户端应当采用GET方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 Precondition Failed 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI“黑洞”,例如每次重定向把旧URI作为URI一部分,导致若干次重定向后URI超长。  客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。...5xx服务器错误 这类状态码代表了服务器处理请求过程中有错误或者异常状态发生,也有可能是服务器意识以当前软硬件资源无法完成对请求处理。

    85720

    HTTP状态码详解

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...303 对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。 客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。...5xx 服务器错误 这类状态码代表了服务器处理请求过程中有错误或者异常状态发生,也有可能是服务器意识以当前软硬件资源无法完成对请求处理。

    80100

    HTTP状态码详解对照表

    如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求方法,但是很多现存浏览器将302响应视作为303响应,并且使用GET方式访问Location规定URI,而无视原先请求方法...303 对应当前请求响应可以另一个URI上被找到,而且客户端应当采用GET方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...添加了表明请求消息体长度有效Content-Length头之后,客户端可以再次提交该请求。 412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI“黑洞”,例如每次重定向把旧URI作为URI一部分,导致若干次重定向后URI超长。客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    61040

    分享一些整理HTTP状态码及其详解

    通常,这些状态代码用来重定向。 4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器处理。 5xx(服务器错误)这些状态代码表示服务器尝试处理请求发生内部错误。...如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求页面,而不产生任何文档视图变化,即使按照规范或更新后元信息应当被应用到用户浏览器活动视图文档。   ...303 对应当前请求响应可以另一个 URI 上被找到,而且客户端应当采用 GET 方式访问那个资源。这个方法存在主要是为了允许由脚本激活POST请求输出重定向一个资源。...412 服务器验证在请求头字段给出先决条件,没能满足其中一个或多个。...重定向URI “黑洞”,例如每次重定向把旧 URI 作为 URI 一部分,导致若干次重定向后 URI 超长。   客户端正在尝试利用某些服务器存在安全漏洞攻击服务器。

    81210

    Django 用户认证系统使用总结

    ,同时要求被验证用户未被删除(is_delete=1),也就是说,验证用户账号密码前获取用户数据,自动已经被删除用户 user=authenticate(username='john', password...='secret',is_delete=1) 当然,除了是否删除,是否禁用等字段,其它字段一般不推荐这么做,可以验证用户账号密码前进行其它前置条件验证 注意:默认,django会优先验证我们显示提供参数...,最后再验证is_active是否未1,如果为1,则返回None 权限和认证(Permissions and Authorization) 略 Web请求认证 Django为每个请求提供了 request.user...注意:用户登录后,会话依旧保留登录前任何匿名会话数据。.... ... else: # do something,比如返回一个登录错误消息 ...

    1.8K10

    使用Capistrano,Nginx和PumaUbuntu 14.04上部署Rails应用程序

    我们将使用Capistrano自动执行常见部署任务,因此每次我们必须将新版本Rails应用程序部署服务器,我们都可以通过一些简单命令来实现。...-sSL选项由三个标志组成: -s 告诉curl以“silent mode”下载文件 -S 告诉curl如果失败则显示错误消息 -L 告诉curl检索安装脚本遵循所有HTTP重定向 下载后,脚本将传到...注意:如果第二个命令失败并显示消息“GPG签名验证失败”,则表示GPG密钥已更改,只需从错误输出复制命令并运行它以下载签名。然后运行用于RVM安装curl命令。...例如,将创建一个名为testapp_rails目录。 我们只是克隆以检查我们部署密钥是否正常工作,每次推送更改时我们都不需要克隆或拉取我们存储库。...管理Puma工作人员将应用程序预加载到内存 完成部署后启动(或重新启动)Puma服务器 发行版特定位置打开Puma服务器套接字 您可以根据需要更改所有选项。

    5K40
    领券