【发布时间】:2011-11-22 05:35:42
【问题描述】:
我的设置:Rails 3.0.9、Ruby 1.9.2、Devise 1.3.4
我实施了一个自定义的设计/守望者策略来针对第 3 方 API 进行身份验证,如果成功,则第一次创建一个新用户。我应该澄清一下,用户创建是在devise.rb 中的自定义策略代码中完成的
devise.rb
config.warden do |manager|
manager.strategies.add(:mls_strategy) do
def authenticate!
... authenticate against 3rd party API...
if res.body =~ /success/
u = User.find_or_initialize_by_email(params[:user][:email])
if u.new_record?
u.save
end
success!(u)
end
end
end
除了在创建时,用户看到的登录页面仍然显示Signed in successfully 的警告之外,所有这些都有效。所需的行为是用户被重定向到应用程序的根目录,我试图在创建用户后添加redirect_to "/",但它找不到redirect_to 方法,我什至不确定这是最好的方法.
我也尝试将此添加到routes.rb,但没有成功
namespace :user do
root :to => "blah#index"
end
建议?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 devise