【发布时间】:2012-03-09 17:06:57
【问题描述】:
如何通过 facebook connect 强制接受条款和条件?
在我的 OmniauthCallbacksController 中我尝试过
@user_ipad.terms = true
用户验证仍然失败,用户被重定向到带有错误消息的注册表单。
/app/controllers/OmniauthCallbacksController
@user_ipad = UserIpad.new(:password => Devise.friendly_token[0,20])
@user_ipad.update_with_facebook_infos(omniauth)
@user_ipad.authentication_ways.build(:provider => omniauth['provider'], :uid => omniauth['uid'])
@user_ipad.terms = true
if @user_ipad.save()
sign_in_and_redirect @user_ipad, :event => :authentication
else
session["devise.facebook_data"] = omniauth
render :action=>'new', :controller=>'user_ipads', :layout => 'empty_layout'
end
/app/models/用户
attr_accessible :terms
...
validates_acceptance_of :terms, :allow_nil => false, :message => "Vous devez accepter les conditions générales d'utilisation", :on => :create
感谢您的帮助, 文森特
【问题讨论】:
标签: ruby-on-rails facebook devise