我的申请有以下路线:
TravisLite::Application.routes.draw do
resources :repositories, path: ':owner_name', only: %i[index show], param: :name, constraints: OwnerNameContraint do
resources :builds, only: %i[index show]
resources :jobs, only: %i[show]
end
end
这允许我拥有诸如/travis-ci/travis-ci/builds/12345
. 路由本身工作得很好,但我在生成页面的路径和 URL 时遇到了一些问题。
现在,为了链接到构建,我必须这样做:
repositories_build_path(owner_name: repository.owner_name, repository_name: repository.name, id: build.id)
我想做的是更像这样的事情:
repositories_build_path([repository, build])
有没有办法做到这一点,或者至少简化 URL 助手调用,而不更改我的 URL 方案?只要 URL 保持不变,我很乐意自己更改路线。