我有我的用户模型(https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview)的方法(使用设计和确认的)呼吁new_with_session
所要求的Omniauth +设计:设计,Omniauth和“新与会话”
def self.new_with_session(params, session)
super.tap do |user|
if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"] || session["devise.google_data"] && session["devise.google_data"]["extra"]["raw_info"]
user.email = data["email"]
end
end
end
用户被允许登录使用谷歌或Facebook和我使用这条线来保存权user.email
:
if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"] || session["devise.google_data"] && session["devise.google_data"]["extra"]["raw_info"]
,但我不认为这是正确的方式,所以...
- 你知道一个更好的方式来构建
user.email
比使用||
操作? - 如果我想从谷歌/ Facebook的一些保存更多的数据,如用户名,我应该把它添加到我的自定义
new_with_session
?如果是这样,为什么?
我在做同样的事情和工作,但因为它是写new_with_session我想知道,如果有必要的东西 – 2012-04-05 14:16:16