ruby-on-rails – 从Rails中的关联获取外键字段

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 从Rails中的关联获取外键字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道Rails中给定模型的表标题对应的字段名称.

我使用查询模型显示标题.

query.columns.map{|q| q.caption}
=> [“Tracker”,“Status”,“Priority”,“Subject”,“Assignee”,“Target version”,“Due date”,“% Done”]

列具有与标题对应的名称

query.columns.map{|q| q.name}
=> [:tracker,:status,:priority,:subject,:assigned_to,:fixed_version,:due_date,:done_ratio]

我的模型看起来像

Issue.columns.map{|q| q.name}
=> [“id”,“tracker_id”,“project_id”,“subject”,“description”,“due_date”,“category_id”,“status_id”,“assigned_to_id”,“priority_id”,“fixed_version_id”,“author_id”,“created_on”,“updated_on”,“start_date”,“done_ratio”,“estimated_hours”,“parent_id”]

我想要从上面的信息获取对应于标题的字段名称(db字段名称).

模型中的样本关联

belongs_to :assigned_to,:class_name => 'Principal',:foreign_key => 'assigned_to_id'

所以对于以上关联,我想知道外键.

为了assign_to我想要“assigned_to_id”

解决方法

反射散列包含这种信息:
Issue.reflections['assigned_to'].foreign_key

您还可以获取其他信息,例如类(.active_record)或关联类型(.macro).在rails 4.2之前,这个哈希的键是符号而不是字符串.

原文链接:https://www.f2er.com/ruby/266413.html

猜你在找的Ruby相关文章