2012-03-12 8 views
0

私はsaasクラスを取ります。宿題2を実行しているときに、レールアプリケーションはhttp://localhost:3000/movies?sort=titleのようなパラメータ化されたURLを生成します。

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

いつ安らかなURLを作成し、いつパラメータ化されたURLを使用するのですか?パラメータ化されたURLを生成するRailsアプリケーション

答えて

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アクションを実行する場合は、RESTfulルーティング(as described by the railsguide)を使用する必要がありますが、それ以外の場合はパラメータが必要な場合があります。また、javascriptを使用してデータクライアント側をソートすることもできます。

'/movies/sort/title'のようなルートを実装するのを止めることはありません.RESTfulルートではないため、ファイルにカスタムルートが必要です。私は完全な物語のために上にリンクしたレールガイドを読んでください。