最近看 Ruby-China 的源码的时候,在 omniauth 部分我有些 ruby 方面的问题。
我想改动一下,把从 Facebook 登录过来的用户加入数据库,为了避免用户登录名重名,就把 email 当作 login, 并把@和那个点用下划线代替,代码如下:
def new_from_provider_data(provider, uid, data)
...
user.email = data["email"]
user.login = data["email"]
user.login.gsub!(/[@]/, "_")
...
结果最后一句把 user.email 也改了,我是 ruby 新手,难道 user.email 和 user.login 都是指向 data["email"] 的吗,我改一个,另一个也就改了?
谢谢各位帮忙。