【发布时间】:2014-03-13 15:14:55
【问题描述】:
我的 rails 应用程序现在正在使用 ActiveRecord,我对 ruby on rails 感到非常惊讶。 我的数据库有三个表:
学生(身份证、姓名、父母身份证) 父母(身份证,姓名) 成绩(Id,studentId,值)
还有三个模型。
我有三个视图,其中一个我必须列出学生,所以我创建了一个 Student.all 并且它可以工作。
但在其中一个视图中,我需要列出学生的家长姓名,而在第三个视图中,我需要列出学生的姓名和成绩。
我现在完全迷失了:如果我的模型是我的表,我如何检索这些表连接的信息?
谢谢
编辑: 我加了一行
Student.includes(:parent, :grades).all.each do |student|
并添加关系:
class Student < ActiveRecord::Base
belongs_to :parent
end
class Parent < ActiveRecord::Base
has_many :student
end
我在设置关系时遇到了一些问题,但现在我的页面加载了。我仍然不能使用 Student.parent.name 属性。 使用 我得到调试信息,但没有关于父级的信息。 (students.parent 显示 parent_id)
任何想法我错过了什么? 这是一个名称冲突:我的学生表有一个名为 parent 的列。更改为 parent_id 解决了它。
【问题讨论】:
标签: ruby-on-rails activerecord