2013-09-27 3 views
0

gem을 사용하여 Rails 4 애플리케이션에 트위터 피드를 통합하려고합니다.Twitter 통합 레일 4 앱

github 페이지의 설명서를 읽었지만 내보기에서 메서드를 사용하려고 할 때 문제가 있습니다.

<% client.sample do |tweet| %> 
    <%= tweet.text %> 
<% end %> 
: 내보기에 다음 코드를 사용하려고

client = Twitter::Streaming::Client.new do |config| 
    config.consumer_key  = "YOUR_CONSUMER_KEY" 
    config.consumer_secret  = "YOUR_CONSUMER_SECRET" 
    config.access_token  = "YOUR_ACCESS_TOKEN" 
    config.access_token_secret = "YOUR_ACCESS_SECRET" 
end 

내가 오류 undefined local variable or method 'client' for class#<#<class...>:...>가 나타납니다

나는 (내 인증 정보와 함께) twitter_init.rb를라는 초기화 파일에 다음이

클라이언트 변수를 노출하는 또 다른 단계가 있습니까? 아니면 올바르게 초기화하지 않았습니까?

답변

3

클라이언트를 Twitter :: Streaming :: Client.new로 설정하면 파일을 초기화 할 때 로컬 변수를 만들었습니다. 이 변수는 스코프를 잃어 버렸고 시야에 들어갈 때까지 오랫동안 사라졌습니다.

는보기

<% @client.sample do |tweet| %> 
    <%= tweet.text %> 
<% end %> 

주목하라 @ 기호에 그런

@client = Twitter::Streaming::Client.new do |config| 
    config.consumer_key  = "YOUR_CONSUMER_KEY" 
    config.consumer_secret  = "YOUR_CONSUMER_SECRET" 
    config.access_token  = "YOUR_ACCESS_TOKEN" 
    config.access_token_secret = "YOUR_ACCESS_SECRET" 
end 

를 실행중인 컨트롤러 액션에서 다음 제거를 twitter_init.rb

을 작업을 진행합니다.

그러나 이는 스키니 컨트롤러 두꺼운 모델 규칙을 위반하며 서비스와 같이 다른 곳에서 초기화해야합니다.

+0

나는 전무이 오류 정의되지 않은 메서드 '샘플'을 얻을 : NilClass이 작동 –

+1

-하지만 당신은 본 적 설정이 컨트롤러에없는 곳 작동해야하는 방법을 알아낼 않았다? 감사 – brad