草庐IT

validate_password

全部标签

ruby-on-rails - rails 5 : Devise Gem password Encryption

我是Rails初学者。我正在尝试使用Devisegem来保存密码。不知何故,我在使用Bcrypt时发现了一个问题,并且根据建议我选择了Devise。当我安装Devise并尝试保存密码时,它被保存为纯文本。这是我正在使用的代码。config.rbRails.application.routes.drawdodevise_for:users#ThisgotaddedaspartofDevisegemusage#....Otherdifferentroutesresources:users,except:[:new]#Iamusinguserscontrollerandgeneratingr

ruby-on-rails - ruby rails : What to do when two models share a lot of similar validations/validation_methods

我有几个模型都是以“密码”为中心的模型。它们不属于单个继承表,需要在单独的表中进行跟踪。从逻辑上讲,它们是完全不同类型的模型,但都具有密码和密码确认跟踪功能。他们还对密码规则使用相同的业务逻辑,例如密码中的字符数等。在Rails中确保代码是DRY且不会在Rails中重复的最佳方法是什么?我应该考虑做什么? 最佳答案 将通用代码分解成一个模块,然后将模块包含在每个模型类中。 关于ruby-on-rails-rubyrails:Whattodowhentwomodelssharealotof

ruby - 如何让 has_secure_password 在生产中工作?

我在新应用程序中使用has_secure_password,它在本地运行良好。但是,当我部署到我们的服务器并尝试运行它时,我收到以下错误消息:undefinedlocalvariableormethod`has_secure_password'forWorkerLogin:Class我做了一个bundleinstall和一切所以我不确定缺少什么。我使用的是ruby​​1.9.2p290,但我认为这不是问题所在。想法? 最佳答案 当我进行Capistrano部署时,我最终意识到我还没有将我的最新代码推送到GitHub。我已将inclu

ruby-on-rails - 设计 :password and :encrypted_password

在设计railsgem中,这两者有什么区别?我在生成的模式中看到了:encrypted_pa​​ssword字段,但没有看到:password字段。如果这两者相互关联,有什么解释吗? 最佳答案 Devise::Models::DatabaseAuthenticatable有一个setter:defpassword=(new_password)@password=new_passwordself.encrypted_password=password_digest(@password)if@password.present?end所以

ruby - 轨道模型 : validates_uniqueness_of doesn't remove trailing spaces not leading ones before unique check?

假设我对用户名实现validates_uniqueness_of。如果名称“maddy”已经存在,那么它将接受值“maddy”作为唯一值而不是“maddy”。它应该删除两侧的空格。如何有这种行为? 最佳答案 classPersonbefore_validation:strip_blanksprotecteddefstrip_blanksself.name=self.name.stripendend这段代码的来源包含一些关于为什么这不是默认的Rails行为的讨论。http://www.ruby-forum.com/topic/1664

ruby-on-rails - 返回 : Validate Non-model fields in model file

我的表单中有一些不属于模型的字段,我知道如何在Controller中验证这些字段,但我想知道是否可以在模型中验证它?如果可能的话,接下来我将如何验证?例如text_field(nil,:non_model_field) 最佳答案 试试这个:在模型中放置一个虚拟属性。classMyModel 关于ruby-on-rails-返回:ValidateNon-modelfieldsinmodelfile,我们在StackOverflow上找到一个类似的问题: http

ruby-on-rails - Rails validates_associated 与模型的错误信息

我在模型中使用validates_associated来使用其他模型的验证代码。问题是验证失败的消息是“..无效”。我想将模型验证失败的实际描述性错误冒泡到顶部!我发现了这个问题:validatesassociatedwithmodel'serrormessage它有一个看起来非常接近的解决方案:moduleActiveRecordmoduleValidationsclassAssociatedBubblingValidatorvalue))endendendendendmoduleClassMethodsdefvalidates_associated_bubbling(*attr_n

ruby-on-rails - rails : validation fails with before_create method on datetime attribute

ApiKey.create!抛出验证错误:expires_at不能为空。classApiKey有属性t.datetime:expires_at但是,如果删除了验证,则before_create方法会在创建时起作用。这是为什么?-此模式适用于其他属性,例如access_tokens(字符串)等 最佳答案 我会说因为before_create在验证之后运行,也许您想将before_create替换为before_validation注意:如果你像那样留下回调,它会在你运行valid?或save或任何时候设置到期日期触发验证的事件记录方法

ruby-on-rails - rails - rspec - 为什么这个 "validates_inclusion_of :role, :in => %w[one, two, three ] }"不起作用

我收到一个错误消息,指出此方法不存在,但这看起来相当基本,我不确定为什么会收到此错误消息?it{shouldvalidate_presence_of:role}#ThisisOK.Failure/Error:it{shouldvalidate_inclusion_of:role,:in=>%w[onetwothree]}NoMethodError:undefinedmethod`validate_inclusion_of'for#对于代码:classUser[one,twothree]]http://apidock.com/rails/ActiveModel/Validations/C

ruby-on-rails - rails : Devise : make `reset password` use `confirmation resend` if user is unconfirmed

鉴于用户正在等待确认电子邮件或已收到确认电子邮件,我如何确保他们不使用重置密码过程和强制他们填写标准确认表格(使用确认电子邮件)。在我的例子中,用户必须在确认后选择一个用户名,而密码重置很烦人地绕过了这个。 最佳答案 您需要禁用User模型中的:recoverable模块,因为这是启用密码重置的原因。如果您还没有自定义该页面,您还需要删除devise/sessions/new.html.erb中的忘记密码链接。 关于ruby-on-rails-rails:Devise:make`rese