私は最初のRailsアプリケーションを開発しようとしている最中であり、実際にアイデアを実装する前に、協会の計画について何らかの助けが得られることを望んでいました。
私のアプリケーションは教育ツールになり、実装する必要のある基本的な機能がいくつかあります。登録してコースを作成できる学生が欲しいです。これらのコースには、教師が1人、残りが学生のユーザーがいます。コース内には、教師が作成し、ユーザーが提出する必要のある課題が含まれます。これらが基本です。最終的にはもっと機能を追加したいのですが、今のところ必要なのは基礎を設定することだけです。
これまでのところ、協会がどのように見えるべきかについての私の考えは次のとおりです。
class User < ActiveRecord::Base
has_many :enrollments
has_many :courses, :through => :enrollments
end
class Course < ActiveRecord::Base
has_many :enrollments
has_many :users, :through => :enrollments
end
class Enrollment < ActiveRecord::Base
belongs_to :user # foreign key - user_id
belongs_to :course # foreign key - course_id
end
ただし、現時点では、残りのアソシエーションを適切に処理する方法について、経験不足の壁にぶつかっています。おそらく何かをハックアウトすることもできますが、最初はできる限り最善を尽くしたいと思います。
割り当てと提出に関連する関連付けをどのように処理しますか?おそらく、学生の提出物は彼らに属するべきですが、それは特にクラス内の課題にも関連しています。割り当てはコース内で発生しますが、ユーザーとも密接に関係しています。
最後に、ユーザーとユーザーが作成するクラスの間の関係を処理するための最良の方法は何ですか?ユーザーがコースを作成します。そのコースは彼らに属しますか?作成者のIDを格納するために、コースのテーブルに列を追加する必要がありますか?等。
助けてくれてありがとう。