【问题标题】:Rails model validation across multiple pages跨多个页面的 Rails 模型验证
【发布时间】:2011-12-16 13:36:28
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

  • [这个其他 stackoverflow 线程][1] 可能会有所帮助 [1]:stackoverflow.com/questions/2603464/…
  • 我的一个想法是创建两个模型。一个给用户。还有一份用于用户的附加和非初步信息。因此,在 2-3 页中,您的模型中有验证要求。不确定这是否是最好的主意,但因此发表了评论。

标签: ruby-on-rails activerecord


【解决方案1】:

我认为您可以实现一个多步骤表单(又名向导)来处理此类问题。

Ryan Bates 就这个主题做了一个很棒的教程

Multistep form tutorial

可能有一些用于多步骤表单的宝石

另一种解决方案是实施部分验证。您可以转到下面的链接。这是一篇关于该主题的精彩博文。

Partial validation blog post

希望这将有助于开始。

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多