我使用的是rails,我的模型描述如下:类别.rb:
has_many :class_registrations
班级注册.rb:
belongs_to :class belongs_to :student
学生.rb:
现在我怎样才能得到一个特定班级的所有学生名单呢 registrations.rb: 文件。
registrations.rb:
72qzrwbm1#
最好的方法是在类模型中添加一个具有多个关联的类
has_many :class_registrations has_many :students, through: :class_registrations
你可以访问特定班级的所有学生
@class = Class.first @class.students # return all student of the first class
请记住,在rails中,您可以从任何模型或控制器访问所有模型,您可以创建一个类或示例方法,允许您从类注册访问类中的所有学生,但我不建议这样做,最好使用控制器或视图中需要的关联。例如,如果您找到一个示例方法来获取班级注册中一个学生的所有同伴,您可以在班级注册.rb中定义一个方法
def companions Student.where("id = ?", self.student_id) end
def students_of_class(class_id) class = Class.find(class_id) class.students end
1条答案
按热度按时间72qzrwbm1#
最好的方法是在类模型中添加一个具有多个关联的类
你可以访问特定班级的所有学生
请记住,在rails中,您可以从任何模型或控制器访问所有模型,您可以创建一个类或示例方法,允许您从类注册访问类中的所有学生,但我不建议这样做,最好使用控制器或视图中需要的关联。
例如,如果您找到一个示例方法来获取班级注册中一个学生的所有同伴,您可以在班级注册.rb中定义一个方法