2014-02-15 6 views
1

트위터를 조작하려고합니다 :: 트위터의 보석에서 트위터 클래스. 이 오류가 있습니다.트위터를 만들 수 없습니다 :: 트위터에서 보석을 사용하여 보석

undefined method `id' for #<Fabrication::Schematic::Runner:0x00000102da7c28> 

내 Fabricator입니다.

Fabricator(:twitter_tweet, from: 'Twitter::Tweet', class_name: 'Twitter::Tweet') do 
    id "1" 
    text "tweet" 
    created_at Time.now 
    user { 
     id "created_by_social_id" 
     name "name" 
     location "location" 
    } 
    entites { 
     user_mentions nil 
    } 
end 

하지만 수동으로 이렇게 만들 수 있습니다.

tweet = Twitter::Tweet.new(:id => "1", 
     :created_at => Time.now.to_s, 
     :text => "text", 
     :user => { 
     :id => "created_by_social_id", 
     :name => "name", 
     :location => "location" 
     }, 
     :entities => {:user_mentions => user_mentions}) 

나는 분명히 아무것도 놓쳤습니까?

+0

Ar 'Tweet.new'에'id' 메쏘드가 있다고 고소합니까? ActiveRecord 객체가 아닌 새로운 트윗을 만들려고합니다. 짹짹 또는 데이터베이스 항목을 만들려고하는지 명확히 할 수 있습니까? –

+0

나는 새로운 트윗을 만들려고하고있다. 이 보석에서 객체를 만들려고합니다. https://github.com/sferik/twitter/blob/master/lib/twitter/tweet.rb – toy

+0

Trello 보석과 동일한 문제가 있습니다. 나는 당신이 붙어있는 "id"가'user' 내부에있는 것으로 의심합니다 ... 이것을 해결 했습니까? – Nick

답변

1

트위터

난 당신이 어떻게 use the Twitter gem to create Tweets의 혼란지고 있다고 생각 :

client.update("I'm tweeting with @gem!") 

이 새 트윗을 만드는 방법이다. 이는 아이디어를 기반으로 당신은했습니다 이미 변수 client과 관련된 initialized an object & : fabrication를 사용하여

#config/initializers/twitter.rb 
client = Twitter::REST::Client.new do |config| 
    config.consumer_key = "YOUR_CONSUMER_KEY" 
    config.consumer_secret = "YOUR_CONSUMER_SECRET" 
end 

코드

되지 직접적인 대답하지만, 나는 당신이이 제안 이 보석의로드 (Twitter API에 연결)에 맞게 구문을 수정 한 다음 fabrication을 사용하여 정렬하십시오.