我在这里通过这个 railscasts 剧集实现 twitter/facebook OAuth 登录:
http://railscasts.com/episodes/235-omniauth-part-1
我正在使用 github 上的 Omniauth README 中的代码:
def oauthing
auth = request.env['omniauth.auth']
current_user.authentications.find_or_create_by_provider_and_uid(auth['provider'], auth['uid'])
flash[:notice] = "Authentication Successful"
redirect_to '/'
end
它会引发有关属于 ActiveRecord 的方法“create”的错误。现在,如果我删除“_or_create”,我可以让上面的代码工作,但现在我只能使用 Twitter/Facebook OAuth 来验证现有用户,而不能创建新用户。
我疯狂地用谷歌搜索,但没有成功。我怎样才能完成这项工作,以便我可以通过 Omniauth 创建帐户,而不仅仅是进行身份验证?