特に一方が他方のサブリソースである場合に、異なるコントローラーを互いに関連する URL にマップする方法はありますか?
より具体的に言うと、以下に例を示します。
- と の 2 種類のリソースが
jobs
ありarticles
ます。Ajob
には複数の が含まれますarticles
。それらの関係にもかかわらず、それぞれに関連する実際のコードを別のファイルで処理したいと考えています。そのため、私は持っています:
helpers/job_api.rb
と
helpers/article_api.rb
それらはそれぞれ次のように SinatraBase を拡張します。
class ArticleAPI < Sinatra::Base
register Sinatra::Async
get '/list' do
#...
end
end
私が今したいのは、ジョブに属するすべての URL リクエストを にのみマッピングし、JobAPI
記事に属するもの (ただし、常に単一のジョブに関連付けられているArticleAPI
.
私config.ru
はこのように見えます:
$LOAD_PATH << '.' 「サーバー」が必要
map "/" do
run Sinatra::Application
end
map "/job" do
run JobAPI
end
map "/job/:job_id/article" do
run ArticleAPI
end
しかし、 url にアクセスしようとするとうまくいきません/job/12/article/list
。
これを行う方法があるかどうか知っている人はいますか?
ありがとう