我正在尝试关注此链接,以帮助将linkedin gem与omniauthable设计Rails平台集成。
http://renderedtext.com/blog/2011/08/17/how-to-use-linkedin-gem-with-omniauth/
两个简单的问题!
最底层的“类LinkedinFactory”文件位于应用程序中,它会被称为什么?我在上面的链接中没有看到目录/文件名。
当我尝试通过linkedin登录时,我的应用程序失败了:
OmniauthCallbacksController中的NoMethodError#linkedin
nil的未定义方法`create_linkedin_connection':NilClass
我在哪里以及如何定义“create_linkedin_connection”方法?它在omniauth_callbacks.rb控制器的第3行中调用:
def linkedin
omniauth_hash = env["omniauth.auth"]
current_user.create_linkedin_connection(
:token => omniauth_hash["extra"]["access_token"].token,
:secret => omniauth_hash["extra"]["access_token"].secret,
:uid => omniauth_hash["uid"]
)
redirect_to root_path, :notice => "You've successfully connected your LinkedIn account."
end
谢谢!
答案 0 :(得分:0)
1)用户定义的类通常应放在 lib目录
中2)您正在current_user上调用“create_linkedin_connection”方法,在这种情况下,该方法需要位于Users控制器中。一旦更改了,您需要确保在routes.rb文件中指定路由。路线应该如此定义
match '/auth/callback', to: 'users#create_linkedin_connection'