我们对Rails很陌生,希望使用我们主页上的Javascript SDK“Connect with Facebook”按钮。在我们的应用中使用此按钮,我们希望允许用户通过Facebook注册我们的网站,并能够将他们的Facebook个人资料图片用作我们网络应用的个人资料图片。Rails 3应用程序 - 与Facebook连接的最佳方式
用我们的Rails 3应用程序实现这个Facebook连接的最佳方式是什么?
devise_for :users
resources :authentications
resources :users do
member do
get :following, :followers
end
end
resources :sessions, :only => [:new, :create, :destroy]
resources :microposts, :only => [:create, :destroy]
resources :relationships, :only => [:create, :destroy]
match '/signup', :to => 'users#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
match '/contact', :to => 'pages#contact'
match '/home', :to => 'pages#home'
match '/help', :to => 'pages#help'
match '/feedback', :to => 'pages#feedback'
match '/privacy', :to => 'pages#privacy'
match '/terms', :to => 'pages#terms'
match '/', :to => 'pages#home'
resources :microposts
resources :users
resources :sessions, :only => [:new, :create, :destroy]
root :to => 'pages#home'
match "/auth/twitter/callback" => "sessions#omnicreate"
match "/auth/facebook/callback" => "sessions#omnicreate"
end
SessionsController
class SessionsController < ApplicationController
def new
@title = "Sign in"
end
def create
user = User.authenticate(params[:session][:email],
params[:session][:password])
if user.nil?
flash.now[:error] = "Invalid email/password combination."
@title = "Sign in"
render 'new'
else
sign_in user
redirect_back_or user
end
end
def destroy
sign_out
redirect_to root_path
end
end
感谢马修我们跑了,并遇到了这个错误。我们收到了这个 'SessionsController#omnicreate'中的RecordInvalid' '验证失败:名称不能为空,电子邮件不能为空,电子邮件无效,密码太短(最少6个字符),密码可能' t空白' – 2012-02-04 21:59:25
我要添加我们的'SessionsController'快速浏览一下,让我们知道你在想什么 – 2012-02-04 22:01:22
我的答案和评论的所有部分都是你需要填写空白的地方。您需要解析'data'参数并使用结果将参数传递给'User.create!' – Matthew 2012-02-04 22:10:10