我有authlogic和openid正常工作,我正在尝试将oauth集成到twitter身份验证中 . 我不想要一个注册和登录按钮,所以我按照这个例子:Implicit user creation with Authlogic and Authlogic OAuth plugin
我在初始注册和后续登录时收到DoubleRenderError,但刷新页面可以使操作成功完成 .
我的users_controller创建:
def create
@user = User.new(params[:user])
@user.save do |result| # LINE A
if result
flash[:notice] = "Account registered!"
redirect_to account_url
else
unless @user.oauth_token.nil?
@user = User.find_by_oauth_token(@user.oauth_token)
unless @user.nil?
UserSession.create(@user)
flash.now[:message] = "Welcome back!"
redirect_to account_url
else
redirect_back_or_default root_path
end
else
redirect_back_or_default root_path
end
end
end
end
我的user_sessions_controller创建:
def create
@user_session = UserSession.new(params[:user_session])
@user_session.save do |result|
if result
flash[:notice] = "Login successful!"
redirect_back_or_default account_url
else
render :action => :new
end
end
end
有办法解决这个问题吗?谢谢
1 回答
在多次失败后,以下内容似乎适用于正常的authlogic用户名/密码,OAuth和Twitter,以及OpenID至少谷歌和雅虎,这是我感兴趣的
此外,在成功和失败重定向/渲染后,我在我的用户控制器中添加了“并返回”更新块