has_secure_password可以使用在update上的原因
来源:互联网 发布:网络微信图片发不出去 编辑:程序博客网 时间:2024/06/06 00:43
在rals4/5中使用has_secure_password 时,在官方文档是这么说明的:
require 'bcrypt'class User < ActiveRecord::Base # users.password_hash in the database is a :string include BCrypt def password @password ||= Password.new(password_hash) end def password=(new_password) @password = Password.create(new_password) self.password_hash = @password endend
def create @user = User.new(params[:user]) @user.password = params[:password] @user.save!end
def login @user = User.find_by_email(params[:email]) if @user.password == params[:password] give_token else redirect_to home_url endend
save是说明了会调用内置的加密方法加密,但是使用update却也一样可以使用, github没说update有什么操作,谷歌发现了update与save的关系:
Update methods cheat sheet (for Rails 4):
- update_attributes = assign_attributes + save
- attributes= = alias of assign_attributes
- update = alias of update_attributes
Source:
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/persistence.rb
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/attribute_assignment.rb
Another cheat sheet:
http://www.davidverhasselt.com/set-attributes-in-activerecord/#cheat-sheet
阅读全文
0 0
- has_secure_password可以使用在update上的原因
- Rails使用has_secure_password进行身份验证
- 无法进行save/update的原因s2sh--使用事物管理肯定可以解决的,要加三个bean
- Rails自带用户验证has_secure_password的使用与源码分析
- 可以在win7上使用的编程软件
- google Map 在手机上是否可以使用的判断
- 关于在quick-x 指向的github上下载的quick-cocos2d-x可以在player上运行无法在模拟器上运行的原因
- tomcat7可以运行jdk8的项目吗/jdk8项目在tomcat7上可以使用吗
- DS-5可以在window8上使用!
- js上的Ajax和cookie(可以直接放在js文件上使用)
- 如何在RedHat AS 5 Update上使用sar命令
- 关于Update在不同数据库的使用
- 关于update在不同数据库的使用
- sendBroadcast可以在Service中被调用的原因
- 关于使用C3P0之后,项目在服务器上开启事务错误的原因
- 上一篇,在Websphere上使用Axis做的客户端调用Webservice要进行修改配置的原因
- 车轮再造(1):在APEX上使用Ajax一例:Update Table,旨在突破100Item/Form的限制
- 下面给朋友们推荐100首可以在婚礼上使用的音乐
- 纯CSS实现从中间延展的下划线
- 向MySQL中插入表情符号
- 基于OpenCV的离散哈特莱变换
- 禁用windows 2008R2的恢复模式,防止服务器意外关机而进行恢复模式
- java获取使用mybatis刚插入数据的主键id
- has_secure_password可以使用在update上的原因
- Fragment的动态添加
- java.security.NoSuchAlgorithmException: AES KeyGenerator not available
- 2017全国信号处理技术应用大会暨2017中国信号处理技术工程师年会
- 【React Native开发】
- lua_rawget,lua_rawset,lua_rawgeti,lua_rawseti
- git上传本地单独修改的文件
- 调用CSDN的开发API——>博客接口——>获取博客系统分类【1】
- 两种表示异常类的方法