1

私は、ユーザーがファイルをアップロードしたり、別のフォルダーを作成したりできる個人用フォルダーのようなものを使用できるRailsアプリケーションを構築しています。

どうすれば似たようなルートを作ることができますか

/user/:id/files/:any_path

このようなルートに一致します

/user/2/files/some_folder/a_file.doc
4

1 に答える 1

5

次のようなカスタムルートを一致させることができます。

match '/user/:id/files/*any_path'

このルートは、またはに一致し/user/2/files/3、または/user/2/files/long/path/to/3に設定params[:any_path]されます。"3""long/path/to/3"

Rails 3.1以降、ワイルドカードルートはデフォルトで常にオプションのフォーマットセグメントと一致します。たとえば、このルートがある場合:

match '*pages' => 'pages#show'

をリクエスト"/foo/bar.json"すると、params [:pages]は"foo/bar"JSONのリクエスト形式と同じになります。古い3.0.xの動作を元に戻したい場合は、次の:format => falseように指定できます。

match '*pages' => 'pages#show', :format => false

フォーマットセグメントを必須にしたいので、省略できない場合は、次のように指定できます:format => true

match '*pages' => 'pages#show', :format => true

この情報と詳細については、外部からのRailsルーティングで見つけることができます。

于 2012-08-23T11:09:40.387 に答える