跨多个页面的Rails模型验证

时间:2011-12-16 13:36:28

标签: ruby-on-rails activerecord

我有一个包含许多字段的用户模型(假设这个示例为30)。当用户注册时,我只填写前10个。一旦他们登录并且他们想要完成他们的信息,他们有两个页面允许他们完成其余的(一个页面处理11-20,另一个处理21 -30)。

所以,当他们点击处理11-20的第一页时,我想确保他们填写所有字段(他们不应该只选择回答其中3个并留下其余的“请选择”)

处理21-30的第二页也是如此。

处理此问题的最佳方法是什么?我正在使用带有activerecord的rails 3.1。如果我做了一些简单的事情,比如在模型中添加以下内容,我就无法在不填写所有字段的情况下创建用户(“validates:user_summary,:presence => true”)。

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为你可以实现一个多步形式(也就是向导)来处理这类问题。

Ryan Bates在这个主题上做了很棒的教程

Multistep form tutorial

对于多步形式,可能有一些宝石

另一个解决方案是实现部分验证。你可以转到下面的链接。这是关于这个主题的一篇很棒的博客文章。

Partial validation blog post

希望它有助于开始。

相关问题