簡而言之:我有一個外鍵屬性,並且想知道該外鍵字段的類(或引用表)是什麼。僅基於外鍵屬性的關聯的類是什麼?
語境:
給出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
屬性的相同信息(我想制定一個通用的解決方案)?是否有可能確定我們是否具有給定屬性的關聯?我們可以提取該關聯的類嗎?
您的文檔鏈接無法正常工作。另外,有沒有辦法獲得完整的命名空間?像'MyModule :: User' – 2014-06-18 10:40:57
啊,你可以通過reflection.klass來獲取命名空間。 – 2014-06-18 10:42:29