[英]ruby on rails error on form redirect to existing page and display errors
所以,我正在尝试修复我们在POST中进行渲染的代码,这实际上为用户搞砸了后退按钮(以及刷新按钮!)。 摆脱讨厌的“你确定要再次发布”通常只是转到POST-> redirect-> GET模式,但使用某种短暂的cookie来处理我需要传输的错误(以及一个用户键入的cookie,所以他不会丢失他的输入)。 在playframework中,这是flash cookie(在以下GET请求中删除)。
我是rails的完全新手,但在java中有很多重量级和轻量级http框架的经验。
如果有人知道现有的一个,那么使用GET控制器方法和POST控制器方法的完整示例将是惊人的吗?
在游戏中,我只是在我的帖子控制器方法中调用validation.keep()(保存错误)和params.flash()(保存用户输入),它会自动将错误映射到GET上的表单字段。 我不做任何额外的事情。 基本上这样(参见postUser方法) https://github.com/deanhiller/timecardz/blob/master/app/controllers/OurPattern.java
我希望ruby有一些简单的东西。
谢谢,迪恩
Rails并不是开箱即用的。 对于它的价值,在Rails中发布帖子之后呈现它是“标准”。 代码流是这样的:
所以它实际上内置于rails中以获得您正在尝试解决的行为,因为它取决于整个渲染中的模型实例是相同的。
也就是说,Rails确实具有一次性闪存参数,因此您可以将发布的表单数据存储在闪存中,并在下一个请求中重新更新验证对象。 只需注意在主要验证者之外进行任何验证的代码。 即object.valid?
和object.save
需要总是导致相同的错误,但没有什么能阻止你(错误地)在before_save
回调中添加验证错误,例如。
一个类似的SO帖子和这个PRG github项目看起来非常有用,以避免在这里单独行动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.