2013-10-10 46 views
0

此時用戶可以使用他們的臉譜帳戶使用omniauth-facebook gem登錄我的網站。我還想實現一種方式讓用戶使用像設計師這樣的寶石創建一個帳戶,以便在發佈時可以保持更多的匿名。讓用戶使用Facebook登錄或創建帳戶

下面是我在我的sessions_controller

class SessionsController < ApplicationController 
    def create 
    user = User.from_omniauth(env["omniauth.auth"]) 
    session[:user_id] = user.id 
    redirect_to root_url 
    end 

    def destroy 
    session[:user_id] = nil 
    redirect_to root_url 
    end 
end 

然後我的用戶模型

class User < ActiveRecord::Base 
include SessionsHelper 

    def self.from_omniauth(auth) 
    where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user| 
     user.provider = auth.provider 
     user.uid = auth.uid 
     user.name = auth.info.name 
     user.oauth_token = auth.credentials.token 
     user.oauth_expires_at = Time.at(auth.credentials.expires_at) 
     user.save! 
    end 
    end 

    has_many :stories 
end 

這事我可以通過在色器件寶石增加只是解決或者我將需要添加一個我的sessions_helper或用戶模型中有幾件事?

回答

相關問題