rails如何将父母的财产作为孩子的财产归还

时间:2017-02-06 17:55:27

标签: ruby-on-rails activerecord

我有两个模型:recordType和record。

recordType模型具有以下属性:typeName,status。 记录模型具有属性:applicant_id,complete。

RecordType has_many:records

现在,我想列出页面上的所有记录。我不想发送与每条记录上的记录捆绑在一起的recordType。我希望能够说出record.typeName并获取recordType的typeName属性。

基本上,我想模仿:

SELECT r.*, rt.typeName as typeName from records r 
INNER JOIN recordTypes rt on r.recordType_id = rt.id
在铁轨中

我是rails的新手,所以我不确定如何实现这一点 - 我在模型中加入了什么?我是否必须创建序列化程序?如何以这样一种方式返回父父的属性,即孩子可以直接引用属性而不是通过父母?

1 个答案:

答案 0 :(得分:0)

首先,你的记录模型应该在数据库中有一个record_type_id列,所以当你说Record belongs_to:record_type时,关联是没有错误的。如果您还没有创建迁移,那么将列添加到表中就可以了。 您还需要在Record模型上进行反向关联。你有一个has_many:记录,但你缺少belongs_to:record_type。 当您拥有该列并设置了关联时,您可以继续执行以下操作: @record = Record.first @ record.record_type#这是一个RecordType模型 @ record.record_type.typeName#返回字符串typeName *更新* 您可以向Record类添加方法: def typeName   record_type.typeName if record_type 结束 这样您就可以使用@ record.typeName进行访问