0

私はsaasクラスを受講しており、宿題2を行っている間、railsアプリはhttp:// localhost:3000 / movies?sort=titleのようなパラメーター化されたURLを生成します。

ただし、ページ上の他のURLは、http:// localhost:3000 / movies / newまたはhttp:// localhost:3000 / movies/1のようなものです。ソートが/movies/ sort/titleのようなRESTfulURLとして解決されないのはなぜだろうか。

また、RESTful URLをいつ作成し、パラメーター化されたURLをいつ使用するのでしょうか。

4

1 に答える 1

1

REST (Rails で使用) はリソースで動作します。具体的には、HTTP 動詞 (GET、POST、PUT、DELETE) を使用してリソースを操作します。

映画のモデルがいるとします。次のルートを定義する映画リソースがあるとします。

GET '/movies' - Gets a list of movies
GET '/movies/new' - Gets the form to create a new movie
POST '/movies' - Creates a new movie
GET '/movies/:id' - Gets the details about the movie with :id
GET '/movies/:id/edit' - Edits the movie with :id
DELETE '/movies/:id' - Deletes the movie with :id
PUT '/movies/:id' - Updates the movie with :id

一方、並べ替えは、リクエストに関する追加情報をレールに提供する方法です。そのため、モデルまたはリソースで CRUD アクションを実行する場合は、( railsguide で説明されているように) RESTful ルーティングを使用する必要がありますが、それ以外の場合は、パラメーターが必要になるか、データ クライアント側を使用してソートすることを検討できます。ジャバスクリプト!

'/movies/sort/title'RESTful ルートではなく、routes.rbファイルにカスタム ルートが必要なだけなので、ルートの実装を妨げるものは何もないことに注意してください。完全なストーリーについては、上でリンクした railsguide を読んでください。

于 2012-03-12T13:08:40.183 に答える