2012-01-28 8 views
0

現在、リクエストURLの一部を相対パスとして解釈するような作業をしています(これはセキュリティ上のリスクがある可能性があります)。リクエストURLの一部をパラメータとして解釈する

これは、パラメータの一部が/path/to/somethingだろう

/page/path/to/something 

ようになります。

通常のルーティングでこれを行うことはできますか?これを処理するにはレールメタルのようなものを使用する必要がありますか?

答えて

1

routing constraintを使用すると、ルートセグメントにスラッシュを付けることができます。簡単に言えば(おおよそ):DEVEニュートンの答えに加え

match "page/:fqp" => "what#ever", :constraints => { :fqp => /[a-zA-Z0-9\/]*/ } 
+0

私に正しい方向を指摘してくれてありがとう、しかし、そこにもルートグロビングがあります、私は細部への答えを投稿します。 – Femaref

+0

@Femarefはい、ありますが、IMO制約はよりクリーンで予測可能なので、私はそれを含めませんでした。 –

+0

一般的なケースで私があなたに同意するので、私はあなたの答えを受け入れるでしょう。 – Femaref

0

は、また、フォーム

get "/page/*path", => "page#show" 

で、ルートグロブがあるこれはpage一部と一致し、params[:path]として経路内の任意の追加コンテンツを置きます詳細なコントローラーアクションで

関連する問題