Ruby on rails自定义setter与getter

最近需要搭几个临时的api作为移动客户端测试用,一时手痒想尝试一下ROR,结果卡在了存储密码的环节。因为不想在数据库里存明文,所以将它们先做了一个MD5。这就需要自定义password属性的setter,一开始在《Web敏捷开发之道》上找到@password来方法实例变量的方式,但是每次取到的结果都是nil。只好找了一下api文档,发现写法如下:

 1 class Song < ActiveRecord::Base
 2   # Uses an integer of seconds to hold the length of the song
 3 
 4   def length=(minutes)
 5     write_attribute(:length, minutes.to_i * 60)
 6   end
 7 
 8   def length
 9     read_attribute(:length) / 60
10   end
11 end

当然,还有另外一种推荐写法:

self[:attribute]=(value) 和 self[:attribute]

转载于:https://www.cnblogs.com/jsxh/p/3397710.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值