2012-01-25 3 views
0

2 회 중첩 된 URL을 액세스하려고이 지금까지 내 프로젝트 ActiveResource 모델입니다 프로젝트와 나는는 ActiveResource이 내가</p> <p><code>/api/v1/projects/{id}/tickets/{id}/time_entries</code></p> <p>에 액세스하는 데 필요한 URL이

class Project < ActiveResource::Base 
self.site = "https://xyz.unfuddle.com/api/v1" 

def self.get_time 
    Project.all.each do |project| 
    project.get(:tickets).each do |ticket| 
     #from here I want to get to time_entrie 
     #after the last_edit 
     TimeEntry.addparams({project: project.id,ticket: ticket["id"]}) 
    end 
    end 
end 

하나의 ActiveResource 모델이 가능 티켓을 기반으로 모든 time_entrie를 얻을 수 원하거나 내가 프로젝트 및 다른 ActiveResource 티켓 사이의 관계 였을을해야합니까?

// 레일 API 문서에 연관성에 대해서는 아무 것도 보지 못했지만.

// 편집 나는 Project.get_time를 실행하면 내가

ActiveResource::Redirection: Failed. Response code = 302. Response message = Found. => https://xyz.unfuddle.com/projects/38664/tickets/6336/time_entries 
+0

'self.site = "https://xyz.unfuddle.com/api/v1/projects/#{params[:project]}/tickets/#{params[:ticket]}/}하면 어떻게 될까요? "'? –

+0

그게 내가하고있는 일이야. – lesce

+0

미안하지만 's'을 보지 못했습니다 : P .. 내 문제가 해결 된 것 같습니다. – lesce

답변

0

좋아, 그래서 최종 답변을 얻을 지금이

class TimeEntry < ActiveResource::Base 
    self.collection_name="time_entries" 
    def self.addparams(params) 
    self.site = "http://xyz.unfuddle.com/api/v1/projects/#{params[:project]}/tickets/#{params[:ticket]}/" 
    self.all 
    end 

같이 보입니다 새로운 TimeEntry ActiveResource 모델 을 추가했습니다 나는 http 대신 https가 필요했고 나는 질문에 명시된 것처럼 2 개의 ActiveResources를 구현해야했습니다.