4

RESTfulではないAJAX呼び出しは次のようになります。

  1. 機能/ビューに最も適したコントローラーを配置する、または
  2. 独自の「Ajax」コントローラーにバンドルされていますか?

私は1をやっていますが、これ(2725 diggs)の記事
http://zygote.egg-co.com/10-dirty-little-web-development-tricks/(ポイント9を参照)
とこれを読んだばかりです。 chapは方法2を選択します。しかし、彼はPHP開発者です。

1つの利点は、2が、RESTfulルートにメンバーを追加する代わりに、「ajax /:action」のようなことを実行してルートをクリーンアップする可能性があることです。

それは1つの6.5、他のタイプのものの半分のパン屋のダースのようです。

どのオプションを選びますか?

4

2 に答える 2

8

私は最初のアプローチを好みます:

  1. 意味的に一貫しています。Ajax アクションにリソース XXX が含まれる場合、Rails の規則のおかげで、あなた (および他のコーダー) は、アプリケーション内のどこに何かがあるかを知ることができます。
  2. あなたのアプリケーションが Ajax に重きを置いている場合 (そして最近ではそのほとんどが Ajax に依存している場合)、RESTful な機能全体を無効にする巨大な AjaxController になってしまいます。残りのコントローラーは、適切に劣化した非 JavaScript CRUD アクションを提供するためだけに存在します。
  3. 同様に、Ajax コントローラーのテストは、アプリの「ajax 化された」リソースごとにシナリオ (フィクスチャ、モックなどをロード) を設定する必要があるため、やや面倒になる傾向があります。
于 2009-07-25T22:05:13.470 に答える
0

あなたの「RESTful」コントローラーにはおそらくneweditアクションが含まれていますが、どちらも実際には RESTful ではなく、createupdateREST アクションのユーザー インターフェイスを提供するだけです。new個別の NonRestUIController などを取得しeditないでください。それらは関連するリソースのコントローラーに保持され、コントローラーの意味的な一貫性を保ちます。同様に、特定の機能セットまたは特定のリソースに関連する Ajax アクションは、関連するコントローラーにとどまる必要があります。

于 2009-07-26T20:00:28.707 に答える