通过omniauth和facebook连接传递params

时间:2012-10-24 14:47:21

标签: ruby-on-rails-3 devise omniauth

我试图将一个参数传递给omniauth回调,但我遇到了问题。 当用户选择注册到我的网站时,他必须选择他是否是青少年的成年人,然后显示注册表单。如果他选择与facebook连接一起使用,在他点击facebook连接后,注册表单将显示在回调页面上,但除了密码之外,所有字段都填充了他的信息。 我也想找回他的成人/青少年选择,但不知道该怎么做。 我正在使用omniauthable设计,这就是我所做的:

Facebook Connect链接:

<%= link_to image_tag("connect-w-facebook.jpg", alt: "Connect with Facebook"),      omniauth_authorize_path(:user,:facebook,{var: 'adult'}), :id =>"logo", :class =>'connect-face- img'  %>

所以我现在硬编码变量来测试它是如何工作的。 在我的回调页面上,我有:

  <%= debug request.env['omniauth.auth'] %>
  <%= debug request.env['omniauth.params'] %>

这两个是nul,除了......之外不显示任何内容......对于这两个字段...... 谢谢,

1 个答案:

答案 0 :(得分:1)

我能够通过添加omniauth_callback_controller来解决它:

session[:omniauth] = request.env["omniauth.params"]

通过在我的观看中检索&lt;%=会话[:omniauth]%&gt;