假设如下:
def create_new_salt
self.salt = self.object_id.to_s + rand.to_s
end
Run Code Online (Sandbox Code Playgroud)
为什么使用"自我"会更好.而不是实例变量'@salt'?
Pet*_*ter 13
如果定义,使用self.salt =将导致使用该salt=方法.这对于确保salt=使用方法内的任何错误检查/转换非常有用.但是,这意味着必须有一个显式salt=方法(attr_accessor例如可能由其创建),这不一定是个好主意.
摘要:self.salt =如果您有自定义salt=方法,请使用; 使用@salt =如果你知道你想要什么@salt,如果你没有一个自定义的是,或salt=方法.
最后说明:我可能会这样写(我认为它更清晰一点)
def create_new_salt
@salt = "#{object_id}#{rand}"
end
Run Code Online (Sandbox Code Playgroud)
编辑:感谢@ Chuck对另一个答案的评论,我修改了这个以删除self.- 免费代码 - 这是错误的.
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |