【发布时间】:2010-05-13 09:12:03
【问题描述】:
我有以下型号:
学生 班级 老师
一个学生可以有多个班级,一个班级可以有 0 或 1 位老师。 我希望能够调用学生的方法来查看他们是否有特定的老师,并返回 true 或 false。
以下代码似乎有效,但我认为它看起来有点啰嗦,必须将每个教师属性与数据库中的属性进行比较。
a_teacher = Teacher.new(:name => "Bob", :age => 30)
self.classes.all(:conditions => ["teacher.name = ? AND teacher.age = ?", a_teacher.name,a_teacher.age], :joins => :teacher)
我认为可能有一种方法可以将 a_teacher 传递给 find,而不是单独指定属性。谢谢
【问题讨论】:
-
“直接传a_teacher”是什么意思? :]
-
我觉得我应该能够执行以下操作:self.classes.all(:conditions => a_teacher, :joins => :teacher)
-
self代表哪个类?你到底想用这段代码实现什么?也许有了这些信息,我可以帮助你...... -
我已经更新了问题,希望这次我提供了足够的信息。
标签: ruby-on-rails activerecord model find