2010-11-22 11 views
5

私は過去2ヵ月間のレールをばたつきさせていましたが、これまでのところすべてうまくいっていますが、疑いの余地のある分野が1つあります。Rails:RESTfulなリソース:使用価値があるか、柔軟性がない/過大評価されていますか?

RESTfulなRailsリソースの喜びについて聞いています。つまり、config/routesの 'resource:foo'とコントローラの7つの安らかな動作です。

非常に単純なことを除いて(例えば、 'scaffold'を実行することによって99%が完了したものを除いて)、私はプロジェクトの機能性をそのアプローチに絞ってみるのは、config/-oneを実行し、必要に応じて各アクションを実行します。

しかし、私は間違っているという感覚を覚えています。そして、最も極端な状況を除いて、RESTfulなリソースが行く方法です。

So:

(a)誰でも誰でも意見を述べることができますか?

(b)経験豊かな方のために、典型的なプロジェクトのあなたのルートの何%が:リソースと何%のアクションごとにコード化されていますか? 乾杯...

+0

これは主観的な質問であり、私はそれが巨大な議論につながると確信しています:) – rmk

+0

合意。質問に「これについて意見を述べることはできますか?トラブルを求めています。 – RPM1984

答えて

5

リソースは便利ですが、「すべてに合った1つのサイズ」の機能ではありません。いくつかのことは、7つの方法では意味をなさない。

  • :exceptで特定のメソッドを除外:

    you canがあることに留意してください。

  • 特定のメソッドのみを:onlyに含めます。
  • 独自のメソッドをリソースに追加します。

だから、あなたは思うほど柔軟ではありません。しかし、これらの3つのポイントを念頭に置いた後で、リソースがちょうど「気分が悪い」ではない場合、をスキップして! RESTは通常のルーティングを置き換えるものではなく、最も一般的なユースケースを抽象化しようとしています。

RESTfulリソースを完全にスキップすると、1トンの無料機能が失われます。それを賢く使って、あなたは大丈夫でしょう。

0

一般的に私はRESTアーキテクチャを念頭に置いてプロジェクトを開始します。私は基本的な機能をこのように構築していますが、プロジェクト/ウェブサイトが進むにつれて、RESTfulアーキテクチャに収まらないビューがますます多く書かれています。マーケティングサイトとパラレル機能がこれの完璧な例です。ここで

がアプローチについての記事です:

  1. ん/このコントローラ:あなたが始める前に

    http://ablogaboutcode.com/2010/11/22/to-be-or-not-to-be-restful-ruby-on-rails-best-practices/


    、ここにあなた自身を依頼する場合がありますいくつかの質問がありますPost、Blogのようなオブジェクト/エンティティを中心に取引を表示しますか?

  2. ウェブ上で作成、更新、削除、編集、新しいアクションをすべて利用できるようになりますか?

ガイドラインとして、これらの2つの質問にYESと答えた場合は、おそらくRESTから始めて、実行する可能性のある追加のアクションやビューのビルディングブロックとしてアーキテクチャを使用することをお勧めします。それ以外の場合は、アクションの表示や実行を表すURL(/ archives、/ tour、/ december-offer)を選択し、適切なHTTPプロトコル(表示用にはGET、更新用のPUT、削除用のDELETE、POST作成のために)。

関連する問題