このようなものをRESTfulデザインにどのように統合しますか?
- メールを既読にする
- ストーリーへの投票
- メッセージを不適切として報告する
さらに、小さなアイコンのリンクやボタンを作成して、あまり魔法を使わずにアクションを実行できるようにするには、どうすればよいでしょうか。
このようなものをRESTfulデザインにどのように統合しますか?
さらに、小さなアイコンのリンクやボタンを作成して、あまり魔法を使わずにアクションを実行できるようにするには、どうすればよいでしょうか。
それはあなたがしていることに依存します。場合によっては、視点を「リソースに対してアクションを実行する」から「別の、異なるが関連するリソースを作成する」にシフトするだけです。
ストーリーへの投票は簡単です。作成、レビューなどができる投票リソースです。レポートでも同じことが言えます。これは、注文を送信済みとしてマークする代わりに、すべてに適用できます。代わりに、送信などがあります。重要なのは、動詞を名詞に変換する方法を理解することです。
メールを既読としてマークするのは少し異なります。そのために私が行うことは、仮想属性を使用することです。モデルに独自のセッターメソッド(たとえば、mark_as_read =)を作成すると、#Updateアクションでparams配列を介してmark_as_readを渡すことができます。
ストーリーへの投票を例にとってみましょう。ストーリーに属する投票モデルを作成します。投票コントローラーを作成し、ルートファイルのストーリーコントローラーからネストします。次に、ネストされたリソースルート(ストーリーレコードを渡す)を使用して、個々のストーリーを対象とした投票を簡単に作成できます。
リソースは適切な形式ですが、必ずしもデータベースモデルによってサポートされている必要はないことに注意してください。この場合、RESTfulnessと、必要に応じて完全なモデルに簡単に拡張する機能を維持しながら、ストーリーレコードをいつでも簡単に変更できます。
これは、RESTに欠かせないリソースです。