Rails - 模型关系建议
Rails - model relationship suggestion
是否可以定义如下关系:
- 一个'student'属于一个'group'
- 一个'group'有很多'courses'和很多'students'
- 一个'student'通过它所属的'group'有很多'courses'
我知道如何再用一个 table(添加一个 student_course table 来保存学生的 ID 及其所属的课程,然后说学生 has_many :courses, through: :student_course).
也就是说,只编辑下面的table就可以实现吗?
class Student
belongs_to :group
end
class Group
has_many :students
has_many :courses
end
class Course
belongs_to :group
end
试试下面的关联
student.rb
belongs_to :group
has_many :courses, through: :group
group.rb
has many :courses
has many :students
course.rb
belongs_to :group
has_many :students, through: :group
不确定是否可以使用 Rails class 方法,但您可以手动实现。
class Student
belongs_to :group
def courses
group.courses
end
end
class Group
has_many :students
has_many :courses
end
class Course
belongs_to :group
end
是否可以定义如下关系:
- 一个'student'属于一个'group'
- 一个'group'有很多'courses'和很多'students'
- 一个'student'通过它所属的'group'有很多'courses'
我知道如何再用一个 table(添加一个 student_course table 来保存学生的 ID 及其所属的课程,然后说学生 has_many :courses, through: :student_course).
也就是说,只编辑下面的table就可以实现吗?
class Student
belongs_to :group
end
class Group
has_many :students
has_many :courses
end
class Course
belongs_to :group
end
试试下面的关联
student.rb
belongs_to :group
has_many :courses, through: :group
group.rb
has many :courses
has many :students
course.rb
belongs_to :group
has_many :students, through: :group
不确定是否可以使用 Rails class 方法,但您可以手动实现。
class Student
belongs_to :group
def courses
group.courses
end
end
class Group
has_many :students
has_many :courses
end
class Course
belongs_to :group
end