0

私はまだ Rails にかなり慣れていないので、作成したいアプリのモデルと関連付けを手動で計画したいと考えています。かなり基本的な機能ですが、理解に苦しむ機能がいくつかあります。それは本質的にMyAnimeListの縮小されたぼったくりになります。

契約は次のとおりです。

現在、ユーザーモデルとアニメモデルがあります。アニメにはアニメ番組のリストが含まれています。私はまた、あなたの提案に応じて、1人のユーザーがいて、おそらく多くのアニメを持つリストモデルを持っています.

最初の機能はかなり単純に見えますが、追加したい 2 つの機能でつまずきます。

  1. ユーザーがメインのアニメ リストに移動し、 [マイ リストに追加] ボタンをクリックしてアニメを自分のリストに追加できるようにしたいと考えています。
  2. ユーザーは自分のアニメを採点し、完了したエピソード/ショーの数を変更できます。この統計は、マスター リストに反映される必要があります。たとえば、誰かがソード アート オンライン (SAO) アニメの視聴を終了し、スコアを付けて終了とマークした場合、メインのアニメ リストの SAO リストが更新され、統計が表示されます。 「2987 人がこのアニメを終了しました」や「この番組の平均ユーザー評価は 5 段階中 4.2 です」などです。おそらくStatモデル?どうすればこれを実装できますか?
  3. 時折、データベース内で番組が誤って複製されたり、日本語からの複数の翻訳が含まれたりすることがあります。ショーをマージする機能(および関連するすべての統計情報/ユーザーなど) が必要です。

したがって、どのモデルを含めるべきか (Stat モデルは必要ですか?)、または、もしあるとしても、どこに何をネストする必要があるか (つまり、ネストされたリソース) がわかりません。

私はさまざまなガイド/チュートリアル/同様の質問などを見てきましたが、学んだことを取り入れて(私にとって)複雑なシナリオに適用することはできませんでした.

これに関するヘルプやディスカッションは大歓迎です! さらに詳細が必要な場合はお知らせください。

4

2 に答える 2

0

First off, never ever call your model 'Show'. It's confusing, ambiguous and simply doesn't make clear what's the class all about. If you would tell me you have a Show model, how would I know what you're referring to? Naming is really important, so it's worth investing time in.

Anyway, I would start with drawing a basic setup. It would definitely help to make your setup visual.

Your explanation is a bit confusing, but you could think of the current setup:

  1. A User has_one lists, therefor WatchList belongs_to a User
  2. A WatchList has_many animes, therefor Anime belongs_to a WatchList
  3. A Anime has_many review_scores, therefor ReviewScore belongs_to an Anime

This is just an example, and only shortly thought trough. Hopefully it gives you a basic idea of how you could think about your main building blocks.

Update: MrMorphe is right that List is also a bad name for a model. Pretty much for the same reasons as Show. To be honest, Score is also pretty bad, you should really consider all names carefully.

于 2013-09-15T11:54:17.923 に答える