0
有沒有辦法將不同的控制器映射到彼此相關的url,特別是當其中一個是另一個的子資源時?Sinatra中的子路由
更具體地講,這裏有一個例子:
- 我有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
不起作用 ''。
任何人都知道是否有辦法做到這一點?
感謝