モジュール方式でアプリケーションを構築したい: たとえば、次のようにします。
Users->has_and_belongs_to_many->Projects
Users->has_and_belongs_to_many->Tasks
Projects->has_many->Tasks
Tasks->belongs_to->Project (1 task belongs to 1 project.)
注: プロジェクトとタスクには多数のユーザーを含めることができます。
私がこれを構築することを考えていた方法は、次のことです。
- ユーザー=ジェム
- プロジェクト = ジェム
- タスク = ジェム
それぞれが json (ember の場合) または html を返すことができます。どちらもお互いに依存していません。アイデアは、それぞれが単なる詳細であるということです。Rails、ember、および html はすべて単なる詳細です。
どうすればこれに取り掛かることができ、一日の終わりにそれらをパズルのようにつなぐことができますか? またはこれは実現可能ですか?
現在、このコンセプトのユーザー部分はほぼ完成しています。モデル、テスト、コントローラー、およびビューが含まれています。それを gem としてバンドルできますか、それともコントローラとモデルのみをバンドルする必要がありますか? この「ユーザー」gem は、FriendlyId gem を使用して URL の見栄えを良くします。実際、すべての「gem」(プロジェクト、タスク、およびユーザー) はこの gem に依存します。
私が望むようなモジュール性を実現するには、何をすることをお勧めしますか? それは良い習慣ですか?悪い習慣?