我正在與Omniauth認證的問題和軌道4由此我得到一個Rails ::加載ActiveModel ForbiddenAttributesError。加載ActiveModel的Rails :: ForbiddenAttributesError設計,Omniauth
我使用gem 'protected_attributes'
如此強大的參數不應該是一個問題。
我的用戶模型包含以下內容:
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_create do |user|
user.username = auth.info.email
user.email = auth.info.email
user.password = Devise.friendly_token[0,20]
user.name = auth.info.name
end
end
user.password
在那裏只是爲了保持與現有設計身份驗證系統的兼容性。
的AR錯誤表明該行:where(auth.slice(:provider, :uid)).first_or_create do |user|
拋出的錯誤。
上述方法被調用來自:
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def mavenlink
@user = User.from_omniauth(request.env['omniauth.auth'])
service = @user.services.initialize_or_update_via_omniauth(request.env['omniauth.auth'])
if service && service.save
sign_in_and_redirect @user #this will throw if @user is not activated
set_flash_message(:notice, :success, :kind => "Mavenlink") if is_navigational_format?
else
redirect_to root_path, error: "Error signing in with Mavenlink credentials."
end
end
end
這是否與或沒有,我不知道,但我也一直在運行此錯誤:
找不到有效的爲路徑映射「/認證/ mavenlink /回調」
也許沒有關係,但我想我有以防萬一。
任何幫助將不勝感激!
把上面一行'那裏(服務提供商:auth.provider,UID:auth.uid).first_or_create做|用戶|'。這應該夠了吧。 – 2015-02-07 20:08:58
這樣做,謝謝!爲什麼是這個問題? – Adam 2015-02-07 20:17:25
[Rails 4.1.5 omniauth strong parameters]可能重複(http://stackoverflow.com/questions/25399414/rails-4-1-5-omniauth-strong-parameters) – zhurora 2015-09-10 13:39:27