0

これは私がアクセスする必要があるURLです

/api/v1/projects/{id}/tickets/{id}/time_entries

これまでのところ、これが私の Project ActiveResource モデルです...すべてのプロジェクトに基づいてプロジェクトとチケットを取得でき、チケットに基づいてすべての time_entrie を取得したい

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

これは 1 つの ActiveResource モデルだけで可能ですか、それとも Project と別の ActiveResource Ticket の間に何らかの関連付けを行う必要がありますか?

// Rails api のドキュメントで関連付けについては何も見ていません。

//編集 このような新しい TimeEntry ActiveResource モデルを追加しました

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

Project.get_time を実行すると、

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

1 に答える 1

0

最終的な回答では、http ではなく https が必要で、質問で指定したように 2 つの ActiveResources を実装する必要がありました。

于 2012-01-25T16:23:50.183 に答える