[英]Rails routing constraints with a nested route
讓我簡要解釋一下我希望路由如何工作,然后向您展示我正在使用的代碼。 我希望發生以下情況:
hearing-providers/any-text-but-a-state-abbreviation -> dispensers controller
hearing-providers/TX -> regions#show
hearing-providers/TX/dallas -> cities#show
這是我正在嘗試的代碼:
resources "hearing-providers", controller: 'dispensers', as: 'dispensers' do
constraints( region_id: /A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]/ ) do
collection do
get ':state_abbreviation' => 'regions#show', :as => :region
get ':state_abbreviation/:city_name' => 'cities#show', :as => :city
end
end
end
問題是這樣的:
不管路徑是什么,我總是被路由到區域控制器。 約束設置似乎不起作用。
您已經為region_id
定義了一個約束,但您沒有在您的路線中使用它。 將您的約束更改為:
constraints( state_abbreviation: /A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]/ ) do
一切都應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.