Sinatra REST APIからjson形式のデータを返そうとしています。私は現在、たくさんの団体が設定されていますが、私はRubyで簡単に入手できるにもかかわらず、私がAPIから望むビューを得るのが難しいです。例えばSinatraによるSequel関連の取得
、私のテーブルから:Rubyで
DB.create_table?(:calendars) do
primary_key :id
end
DB.create_table?(:schedules) do
primary_key :id
foreign_key :resource_id, :resources
foreign_key :task_id, :tasks
foreign_key :calendar_id, :calendars
end
、私はこのようなブロックを実行して、私の団体を通じて、私が必要とするすべての情報を表示することができるよ:
Calendar.each do |c|
c.schedules.each do |s|
puts "RESOURCE ##{s.resource_id}"
s.tasks.each do |t|
p t
end
puts
end
end
私のcalendar
モデルにone_to_many :schedules
の関連が含まれているため、c.schedules
コールが機能しません。
これは私のSinatra APIにどのように変換されているのでしょうか。私の簡単なGET
経路では、私は多くのバリエーションがカレンダーに関連付けられているスケジュールを取得し、JSONに変換しようと試みた:
get '/calendars' do
c = DB[:calendar].first
c.schedules.to_json
content_type :json
end
を...しかし、私はundefined method 'schedules' for {:id=>1}:Hash
ここではハッシュが返ってきているようですが、私はたくさんのものを試しましたが、私がSinatraでどのように私の協会と仕事をしているのか分かりませんでした。これどうやってするの?
ありがとうございます!