3

このようなものをRESTfulデザインにどのように統合しますか?

  • メールを既読にする
  • ストーリーへの投票
  • メッセージを不適切として報告する

さらに、小さなアイコンのリンクやボタンを作成して、あまり魔法を使わずにアクションを実行できるようにするには、どうすればよいでしょうか。

4

2 に答える 2

4

それはあなたがしていることに依存します。場合によっては、視点を「リソースに対してアクションを実行する」から「別の、異なるが関連するリソースを作成する」にシフトするだけです。

ストーリーへの投票は簡単です。作成、レビューなどができる投票リソースです。レポートでも同じことが言えます。これは、注文を送信済みとしてマークする代わりに、すべてに適用できます。代わりに、送信などがあります。重要なのは、動詞を名詞に変換する方法を理解することです。

メールを既読としてマークするのは少し異なります。そのために私が行うことは、仮想属性を使用することです。モデルに独自のセッターメソッド(たとえば、mark_as_read =)を作成すると、#Updateアクションでparams配列を介してmark_as_readを渡すことができます。

ストーリーへの投票を例にとってみましょう。ストーリーに属する投票モデルを作成します。投票コントローラーを作成し、ルートファイルのストーリーコントローラーからネストします。次に、ネストされたリソースルート(ストーリーレコードを渡す)を使用して、個々のストーリーを対象とした投票を簡単に作成できます。

リソースは適切な形式ですが、必ずしもデータベースモデルによってサポートされている必要はないことに注意してください。この場合、RESTfulnessと、必要に応じて完全なモデルに簡単に拡張する機能を維持しながら、ストーリーレコードをいつでも簡単に変更できます。

于 2009-01-27T21:38:38.720 に答える
0

これは、RESTに欠かせないリソースです。

http://oreilly.com/catalog/9780596529260/安らかなWebサービス

于 2009-01-27T21:35:15.873 に答える