Ruby on rails形成了对所需用户配置文件建议的验证

时间:2012-01-14 20:48:31

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems

我有一个模型,其中包含edit_profiles页面的验证规则。在编辑配置文件页面上,我使用jquery accordion将用户edit_profile分成不同的部分,供用户编辑信息。每个部分都是一个单独的表格。

e.g。

基本信息(表格1) 个人统计(表格2) 喜欢的东西(表格3) 关于我(表格4)

我的问题是成功填写一个表单上的信息并单击更新是不成功的,因为已设置的其他验证规则正在启动,因为其他表单未通过验证,因为它们尚未填写。

我尝试使用validation_group gem,但这似乎没有任何影响。 我想知道是否有一种简单的方法可以做到这一点?

我不能只为每个表单汇总验证规则并将它们放在单独的方法中,只有在点击匹配表单的更新按钮时才能使它们发挥作用?

因此,如果单击表单1上的更新按钮,则form_one_validations方法将触发,并且不相关的验证方法将不会。

我真的很感激如何做到这一点的例子。

这是负责y edit_profile视图的操作:

  def edit_profile

  @profile = Profile.find_by_user_id(current_user.id)

  end

它基于我的个人资料控制器。

亲切的问候

2 个答案:

答案 0 :(得分:1)

我最终使用:allow_blank 这样就不必填写字段,但如果需要,仍会强制执行所有其他重要的验证规则。

答案 1 :(得分:0)

我可以为您提出这样的方法:您可以在模型中添加其他字段,例如“basic_info_completed”,这将在用户填写所有相应信息后设置一次。并使所有必要的验证都是有条件的,并且仅当此字段设置为true时才执行它们。因此,在用户填写配置文件部分的所有字段之前,可以在不进行验证的情况下编辑它们,但在配置文件字段完成后,将为该部分配置文件启用验证。