2013-04-02 3 views
1

저는 여기 새로 왔고 Ruby가 새로 도입되어 좋은 질문을하기 위해 최선을 다할 것입니다. 기본적으로 사용자가 초대 된 Facebook 이벤트를 반환하는 앱을 작성하려고합니다. 아주 간단합니다. 문제는이 모든 것을 계속 되돌려 놓는 것입니다.Ruby에서 해시 FQL 쿼리를 반환하는 방법

[{"name"=>"SPB Presents An Evening With Demetri Martin"}], [{"name"=>"Say \"Pi\" to Passover!"}] 

방금 ​​키 값을 원합니다. [ "name"]을 사용하고 기본적인 Ruby 튜토리얼을 살펴 보았습니다.하지만 매번 많은 무수한 오류가있었습니다.

여기 내 코드입니다 :

HomeController :

<% if @invites %> 
     <% for invite in @invites %> 
       <p><%=h names(h invite["eid"])%></p> 
<% end > 
<% end > 

당신의 도움을 사전에 너무 감사

def index 
if session["fb_access_token"].present? 
    @fql = Koala::Facebook::API.new(session["fb_access_token"]) 
    @invites = @fql.fql_query("SELECT eid FROM event_member WHERE uid = me()") 
end 

def names(eid) 
if session["fb_access_token"].present? 
    @fql = Koala::Facebook::API.new(session["fb_access_token"]) 
    @fql.fql_query("SELECT name FROM event WHERE eid = #{eid}") 
end 
end 

홈보기! 또한 누군가가 이것을 빌드하는 더 좋은 방법을 가지고 있으므로 뷰에서 많은 작업을 수행 할 필요가 없으며 컨트롤러의 각 루프를 더 잘 수행하는 방법도 좋을 것입니다.

답변

0

궁금한 점이 있으면 문제를 파악했습니다. fql 쿼리는 "location"의 해시가 하나있는 배열에 모든 것을 저장하므로 쿼리를 표시 할 때마다 배열이 표시됩니다. 이것은 내 수정했다 ". 이름"

def names(eid) 
    if session["fb_access_token"].present? 
    @fql = Koala::Facebook::API.new(session["fb_access_token"]) 
    @hashmap = @fql.fql_query("SELECT name FROM event WHERE eid = #{eid}") 
    @name = @hashmap[0]["name"] 

가 지금은 인덱스 0 및 사용 키에 배열의 첫 번째 객체를 당겨 매력처럼 일했습니다!

관련 문제