草庐IT

password_needs_rehash

全部标签

ruby - 不能使用 has_secure_password,password_digest 错误

晚上好。我有个问题。我正在使用has_secure_password并且导致我有一个错误undefinedmethodpassword_digest='for#`,但是我没有这个方法!!请帮忙,不知道该怎么办。我阅读了如何解决此问题,但对我没有帮助(这是我的用户模型。如果可以,请帮忙。classUser:createbefore_create{generate_token(:auth_token)}defsend_password_resetgenerate_token(:password_reset_token)self.password_reset_sent_at=Time.zon

ruby-on-rails - rails : rbenv rehash not working (rbenv-shim exists)

我正在尝试在安装新gem后重新哈希rbenv它在我的ubuntu服务器上给了我这些错误rbenv:cannotrehash:/home/deployer/.rbenv/shims/.rbenv-shimexists但是.rbenv-shims不存在 最佳答案 可能是issuewithdirectorypermissions@sstephenson/rbenv:FWIW-Ialsohadthisproblem,andhadtochangepermissionsonthedirwhereitwascheckingforthe.rbenv

ruby-on-rails - salt 如何在 Rails 的 has_secure_password 中工作

据我所知,为了使加密密码更安全,我会生成一个随机数(盐)并将其与散列密码一起存储在用户记录中(例如。)我会连接盐使用明文密码,然后对其进行加密(哈希)。生成的哈希将更难破解。将重复此过程以验证密码。查看has_secure_password和bcrypt_ruby(披露:我不是安全专家)我不知道这是如何完成的,因为用户记录中唯一存储的是散列密码。盐在哪里? 最佳答案 密码哈希和盐保存在数据库中名为password_digest的字符串列中。看这个question. 关于ruby-on-r

ruby-on-rails - railstutorial.org 中的 SessionsHelper : Should helpers be general-purpose modules for code not needed in views?

railstutorial.org有一个让我觉得有点奇怪的建议。Itsuggeststhiscode:classApplicationControllerincludeSessionsHelper使方法在ApplicationController中可用,是的,但它也使它们在任何View中都可用。我知道身份验证/授权是交叉的,但这真的是最好的地方吗?在我看来,这可能范围太广了。将实现有条件重定向(如railstutorial.org示例所做的)的before_filter的代码放在更通常包含View助手的模块中似乎令人惊讶。将View中不需要的功能放在ApplicationControl

ruby-on-rails - 如何跳过 has_secure_password 验证

在我的应用中,只有管理员可以创建新的用户记录。用户会通过电子邮件收到一个激活链接,他们可以在其中设置密码。我想使用has_secure_passord方法(railscast):classUser效果很好,但它会自动验证密码摘要的存在...所以当管理员创建记录时,验证失败。我有办法只跳过自动添加的password_digest验证而不跳过我添加的其他验证吗? 最佳答案 从4.X版本的rails开始,has_secure_password采用一个选项:validations。如果将其设置为false,它将不会运行验证。gem3.X版本

ruby - rails 3 : Do i need to give return true in a before_save callback for an object. 保存工作?

ClassUserbefore_save:set_searchabledefset_searchableself.searchable=trueifself.status==:activeendend>>u=User.last>>u.savefalseu.save总是返回false。如果我删除before_save它会起作用另外,如果我在before_save中返回true,它也有效所以我需要在before_save中给出return语句吗?如果before_save返回false,ActiveRecord会保存一个对象吗?我在哪里可以看到有关回调及其工作流程的完整文档。提前致谢

ruby-on-rails - 如何更改 "Devise: password reset instruction email' 的主题”

我只是无法更改“密码重置说明”电子邮件的主题。我更改了Mailer中的notifer.rb以覆盖Devise默认电子邮件主题。但它不起作用。在我的应用程序中,Devise.yml文件中有默认的电子邮件主题。但我想通过从数据库中提取数据来动态更改它。 最佳答案 可以在intilizer目录下的devise.en.yml文件中修改并为任何邮件设置您自己的主题mailer:confirmation_instructions:subject:'Confirmationinstructions'reset_password_instructi

ruby-on-rails - 尝试为 ror 应用程序设置 postgres,出现错误 - fe_sendauth : no password supplied

获得:Anerrorhasoccurred:Errorconnectingtotheserver:fe_sendauth:nopasswordsupplieddatabase.yml中的设置与其他机器上的应用设置相同。我如何设置才能不需要硬编码密码?我可以使用PgAdmin-III查看数据库。我宁愿不要在database.yml中设置密码,因为使用此应用程序的其他机器没有/不需要密码,所以这似乎与我的Pg安装有关。 最佳答案 您需要更改您的pg_hba.conf。这是我的一个例子:pg_hba.conf:TYPEDATABASEUS

ruby-on-rails - rails 验证 : :allow_nil and :inclusion both needed at the same time

通常“种类”字段应允许留空。但如果不为空,则该值应包含在['a','b']validates_inclusion_of:kind,:in=>['a','b'],:allow_nil=>true代码不起作用? 最佳答案 在Rails5中,您可以在包含block的外部或内部使用allow_blank:true:validates:kind,inclusion:{in:['a','b'],allow_blank:true}或validates:kind,inclusion:{in:['a','b']},allow_blank:true提示

ruby - 如何解决 "You need to have Ruby and Sass installed and in your PATH for this task to work"警告?

我正在为工作设置一台新Mac。我已经在全局范围内安装了Grunt&GruntCLI。然后我在项目文件夹中执行了npminstall以安装所有依赖项。到目前为止没有问题,但是当我尝试运行sass:dist任务时,我收到了这个警告:Warning:YouneedtohaveRubyandSassinstalledandinyourPATHforthistasktowork.Moreinfo:https://github.com/gruntjs/grunt-contrib-sassUse--forcetocontinue.据我了解,我需要在更全局的级别上安装Ruby和Sass才能运行此任务。