我读到ruby中的模块(在本例中是ActiveSupport::Concern)在初始化的类的所有实例之间共享。因此,如果这是真的,这意味着任何实例变量都将在内存中的所有实例之间共享。
module SetPassword
extend ActiveSupport::Concern
attr_reader :password
def password=(new_password)
@password = new_password
self.crypted_password = password_digest(new_password, salt)
end
end
class User
include SetPassword
end
u = User.new; u.password = 'abcdef'
u2 = User.new; u2.password = '123456'
上面的代码使用起来安全吗?或者第二个用户会覆盖第一个用户?
https://stackoverflow.com/questions/54897865
复制相似问题