で始まるすべての URL に一致させたい/company/
ので、次のルートがあります。
match '/*id' => 'high_voltage/pages#show', :constraints => { id: /^company\/.*/ }
しかし、制約は何もしません。URL/abc
もこのルートと一致しPagesController
、エラーがスローされます。
これはどのように指定すればよいですか?
id
最初にパラメータを含める必要があるcompany/
ので、単にルートを作成するとは言わないでくださいmatch '/company/*id'
。id
これにより、コントローラーに .なしのパラメーターが与えられますcompany/
。
更新:通常のRubyで上記の正規表現を試してみましたが、動作します。また、会社の前に ^ を付けずに試してみました (ただし、会社を最初の単語にする必要があります)。
更新 2 : ワイルドカードに問題があるようですが、ワイルドカード ルートは制約で機能しますか? ルートにワイルドカードがあると、ANY 制約が機能しません。
更新 3 : これは単なるRuby on Rails のバグであることがわかりました。