0
テストヘルパーのために、私はルートの開始にルートを注入する必要があります。レールの始めに動的にルートを追加する
test_routes = Proc.new do
get "/#{route_root}/:id", to: "#{route_root}#test"
end
Rails.application.routes.eval_block(test_routes)
問題があることが多いアプリケーションのルートリストの末尾にルート「すべてをキャッチ」ということですので、私は最初のルートとしてこれを注入する必要があります。最後にそれを追加するには簡単です。
私はここに技術を使用している:How to dynamically add routes in Rails 3.2
が、そのハックを、そして宝石の更新後に最後の夜、それは(理由はまだわからないが、routes.clear!
の内側にその破壊)破ったので、私は探していますハックの少ないソリューションです。
module DynamicRouter
def self.routes router
router.get "/#{route_root}/:id", to: "#{route_root}#test"
end
end
をし、あなたのroutes.rbをしてちょうどあなたの関数を呼び出す:
これは、最終的に他の人が使用できる汎用テスト宝石になるということです。 routes.rbファイルに何も追加する必要はありません。テストヘルパーは、テストが開始されると自動的にテストヘルパーを実行します。理にかなっている? –