首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 3.1 partial_updates似乎不能使用密码

rails 3.1 partial_updates似乎不能使用密码
EN

Stack Overflow用户
提问于 2012-04-08 18:18:57
回答 2查看 143关注 0票数 0

我有一个带有password属性的用户模型,它被保存为password_digest。我想要做的是将编辑用户页面和编辑密码页面分开,这样管理员就不需要在每次需要更改其他内容时输入密码。为此,我做了一个额外的动作/视图。

我的问题是,当我更新用户信息时,即使表单中没有密码字段,我也会收到密码验证错误。这导致我得出结论,partial_updates没有使用password属性(正如我已经在控制台中测试过的那样,它是启用的)

这是我做错了什么吗,还是我应该以不同的方式来处理?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-09 01:27:25

类似于@normalocity提到的铁路广播方法,但不需要在控制器中设置伪属性,我们这样做(本质上取自restful_authentication):

代码语言:javascript
复制
attr_accessor :password

validates :password,
          :length => { :minimum => 8 },
          :confirmation => true,
          :presence => true,
          :if => :password_required?

def password_required?
  password_digest.blank? || !password.blank?
end

基本上,我们假设如果尚未设置password_digest (对于新记录),或者如果已经设置了password伪属性,那么这意味着密码正在被更改,并且必须运行验证。因此,我们不需要像在铁路广播节目中那样设置updating_password伪属性。

票数 0
EN

Stack Overflow用户

发布于 2012-04-08 21:51:45

仅当密码被更改时,才需要验证密码。如果没有更改,则应该跳过对password字段的验证。

Railscasts.com episode #41向您展示了如何做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10062045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档