2014-10-01 2 views
-1

나는 모든 것을 연결 했으므로 멋지게 보입니다. 그러나 반환 된 Hash 값을 가져올 수 없기 때문에 내 코드에서 뭔가 빠져 있습니다. 이것은 주로 코알라 페이스 북의 보석을 레일로 사용하고 있습니다.레일에서 해시로 변수 수집하기

가 지금까지있어 :

def self.pull 

    facebook = user.facebook.get_connection("me", "home") 
    facebook.each do |story| # Each story is itself a Hash 
     unless exists?(fb_id: story.id) 
      NewStory.create({fb_id: story.id, fb_from_username: story.from.username, user_id: User.current, storystatus = 'new'}) 
     end 
    end 
end 

내가 오류 undefined method 'id' for #<Hash:0x007fc8f2784278>가 계속 pull 실행 ... 나는 그에게 알고있는 Hash하지만 난 Hash

의 내용에 접근 한 번도 안 써봤 그리고 반환 된 해시의 예는 다음과 같습니다.

{ 
"id"=>"650490971730768_650591128387419", 
"from"=>{ 
      "id"=>"650490971730768", 
      "name"=>"Kathy Singer" 
      } 
... 
} 

id 그러면 from -> idfrom -> user 등으로 이동합니다.

답변

1

ActiveRecord 객체 속성과 달리 . 연산자로 해시 값에 액세스 할 수 없습니다.

당신은 바보 같은 질문 죄송 Hash#[]

unless exists?(fb_id: story['id']) 
+0

감사를 사용하여 접근해야합니다 :) – user2419316

관련 문제