我对ruby / rails比较新,我有以下问题:
我正在开发一个调度应用程序,并且有一个名为Classes的模型和另一个名为ClassEntries的模型。它们之间的关系是每个用户每学期可以有多个类条目,每个类条目与一个类相关。 Classes表中的每条记录都属于特定的大学。用户可以在ClassEntries表中有多个条目,持续1个学期(通常为5个)。他们的日程安排由具有相同学期ID的所有ClassEntries组成。
我不确定是否应该有一个名为Schedule的第三个模型,它将ClassEntries和Classes模型中的信息汇集到一起。我最初在PHP中编写了这个功能,我只是使用MySQL JOIN来收集必要的信息。在Rails中,似乎应该有更好的方法来实现这一目标。
在Rails中实现这一目标的最佳方法是什么?
非常感谢
答案 0 :(得分:1)
所以,你正在寻找的是Rails中的很多关联。
您将拥有以下内容:
def User < ActiveRecord::Base
has_many :course_entries
has_many :courses, :through => :class_entries
end
def CourseEntry < ActiveRecord::Base
belongs_to :user
belongs_to :course
end
def Course < ActiveRecord::Base
has_many :course_entries
has_many :users, :through => :class_entries
end
设置这些关联后,Rails会允许你做这样的事情
some_user.courses
或some_course.users
它将通过CourseEntry为您创建联接。
如果这有帮助,请告诉我。如果你需要我更深入了解,请告诉我。