【发布时间】:2010-07-13 07:28:20
【问题描述】:
简短:我有一个外键属性,想知道该外键字段的类(或引用表)是什么。
上下文:
给定 2 个表:users(id, [other fields]) 和 issues(id, user_id, assigned_to, [other fields])
这是我的问题活动记录(不相关部分已提取)
class User < ActiveRecord::Base
...
end
class Issue < ActiveRecord::Base
belongs_to :user
belongs_to :assigned_user, :foreign_key => 'assigned_to', :class_name => 'User'
...
end
我想制作用户可读的更改日志。例如更改分配的用户时,我想收到这样的消息:Assigned to is changed from Otto to Zoltan。 ActiveRecord 具有函数changes,这是一个很好的起点,但它只给了我参考 ID-s。要翻译成名称,我需要按 id 读取用户。
对于:user 的关联,这很容易,因为我只需要遵循约定即可。但是如何为assigned_to 属性获取相同的信息(我想做一个通用的解决方案)?是否有可能弄清楚我们是否对给定的属性有关联?我们可以提取该关联的类吗?
【问题讨论】:
标签: ruby-on-rails activerecord