0

我被困在 Twitter gem 实施的最后一步,一切正常。除了,当用户发布时,所有内容都会发送到同一个 Twitter 帐户。

有些用户未使用omniauth 进行身份验证,有些是。目前,Authentications 表中只有 1 个条目,所有内容都通过它发布到同一个 Twitter 帐户。

这是代码

class PostsController < ApplicationController
def create
    twitter.update(@post.content)
    redirect_to root_path
end

这是在我的应用程序控制器中定义“twitter”的方式

class ApplicationController < ActionController::Base
def twitter
    unless @twitter_user
      provider = Authentication.find_by_provider('twitter')
      @twitter_user = Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret) rescue nil
    end
    @twitter_user
  end

我怎样才能让twitter.update(@post.content)那些通过omniauth认证的人只发生这种情况,并确保发送到Twitter的任何帖子都发送到给定上述代码的正确帐户?

4

1 回答 1

0
provider = Authentication.find_by_provider('twitter')

您仅基于提供者是“twitter”来提取 Twitter 身份验证信息。如果您希望发布到与特定用户绑定的帐户,则需要根据唯一标识该用户的内容获取 twitter 凭据

我不知道您的确切模型方案,但在伪代码中它可能看起来像这样:

provider = Authentication.find_by_email(current_user.email)

或者

provider = Authentication.find_by_handle(current_user.handle)
于 2013-04-12T23:10:47.070 回答