我正在尝试在我的网站上创建用户注册视图和模型,但我遇到了一个小问题:
我正在使用设计和omniauth来使facebook连接功能正常工作,但我希望我的facebook用户在他们第一次登录时创建他们的密码,这也有效,我将他们重定向到填写的注册表单和他们只需要输入密码。但我希望他们转到名为 /views/registrations/new_facebook.html.erb 的第二个“注册表格”,他们只能输入密码,我还将添加一些其他信息,
我创建了正确的视图并对其进行了测试,但我不知道如何创建正确的路由来绕过设计默认值
match '/facebook' => 'registrations#new', :as => 'new_facebook_user_registration'
我相信问题在于匹配,因为那是不被认可的,
如果有人可以帮助我,那将是非常感谢,
我为 omniauth 添加了我的控制器代码:
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted?
flash[:success] = "Welcome back"
sign_in_and_redirect user
else
session["devise.user_attributes"] = user.attributes
redirect_to new_facebook_user_registration_url
end
end
alias_method :facebook, :all
结尾
如何使 redirect_to new_facebook_user_registration_url 真正起作用?