9

デフォルトルートを設定するためにroutes.rb電話をかける以外には触れません。map.root私は常に次の形式の URL を使用することに満足してきました...

/controller/action/perhaps_an_id

そしてそれはうまくいきます。

これは私を悪い人にしますか?完全に素晴らしいものを見逃していますか?

RESTful 設計を採用しようとするとどうなりますか? それは私が編集しなければならないことを意味しますroutes.rbか、それとも喜んで無視し続けることができますか?

(このトピックについては The Rails Way を読んでみましたが、耐えられませんでした。)

4

4 に答える 4

6

デフォルトの足場でリソースを生成すると、routes.rb に安らかなルーティングが含まれます。

足場を使用していない場合、それが機能している理由は、デフォルトで下部にあるデフォルトのルートのためです。

    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

私は、実稼働アプリケーションではこれらを削除し、代わりに公開する必要があるリソースのみを公開することがベスト プラクティスであるということに従ってきました。Rails 2.2 では、map.resources の RESTful メソッドを次のように制限することもできます。

map.resources :posts, :only => [:index, :show]
map.resources :comments, :except => [:edit]

また、ネストされたリソース、名前付きルートなどを使用してできるクールなこともたくさんあります。ドキュメントには多くの例があります ( http://www.railsbrain.com/api/rails-2.2.2/doc/index. html?a=M000255&name=リソース)

于 2009-01-02T22:55:34.673 に答える
5

また、特定のコントローラーやアクションなどに向かう、マーケティング部門用のカスタムの名前付きルート(mycoolsite.com/free-trialなど)を作成することもできます。

Ryan Batesには、ルートで実行できるいくつかの優れた機能を紹介する一連のスクリーンキャストがあります。http://railscasts.com/tags/14

于 2009-01-02T21:04:22.543 に答える
5

RESTful 設計に切り替えていないからといって、あなたが悪い人になるわけではありません。変更する必要がないと感じた場合は、1.x の方法でアプリを書き続けてください。

Rails 開発者の大半は REST を採用しており、非常に満足しているようです。ここですべてのプロ REST 引数を繰り返す必要はないと思います。

次のように、リソースごとに 1 行をルート ファイルに追加する必要があります。

map.resources :posts
于 2009-01-02T20:53:48.977 に答える
4

RESTful に移行する場合は、routes.rb を編集して次のようなリソースを追加する必要があります。

map.resources :your_resource

またはネストされたリソースがある場合は、

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end
于 2009-01-02T20:56:30.563 に答える