Tag: strong parameters

Rails 4.1.5 omniauth强参数

将Rails 4.1.4升级到4.1.5后,我的facebook omniauth会话出错,从那时起一切正常。 当我创建一个用户会话时,我得到一个ActiveModel::ForbiddenAttributesError 路线: match ‘auth/:provider/callback’, to: ‘sessions#create’, as: ‘signin’, via: :get Session#创建控制器: def create user = User.from_omniauth(env[“omniauth.auth”]) session[:user_id] = user.id session[:user_name] = user.name redirect_to root_path end 和这样的用户模型: def self.from_omniauth(auth) where(auth.slice(:provider, :uid)).first_or_create.tap do |user| user.provider ||= auth.provider user.uid = auth.uid user.name = auth.info.name user.save end end 我可以通过添加许可来绕过ActiveModel错误! 我的用户模型中的方法是这样的: where(auth.slice(:provider, :uid).permit!).first_or_create.tap do |user| 但它覆盖数据库中的第一个用户… session[:user_id]似乎始终是数据库中的第一个用户。 […]