【发布时间】:2016-04-28 10:22:00
【问题描述】:
通常当我们需要使用 ActiveRecord 相关对象时,我们会写这样的代码:
main_object.related_object
其中main_object 是MainObject 类的实例,related_object 是通过related_object_id 字段连接到MainObject 的RelatedObject 实例:
class MainObject < ActiveRecord::Base
:has_one => :related_object
end
class RelatedObject < ActiveRecord::Base
:belongs_to => :main_object
end
关系计数可能不同且不止一个。此外,我的任务假设我不知道将使用哪一种关系的自定义查询。
所以,我想通过它的名字来获取相关的对象,例如:
main_object.relations['related_object']
是否可以在 Ruby on Rails ActiveRecord 中使用?
【问题讨论】:
-
我认为这似乎是多态性,但在反向....在我看来,目前仅使用 rails 是不可能的,因为为了生成正确的查询 rails 不知道名称关联模型
-
但是你能解释一下这个任务吗,你不知道关系的模型名称,或者你不知道固定的关系名称?
-
是的,我不知道固定的关系名称模型可以有多个关系,不同的情况会使用不同的关系
标签: ruby-on-rails activerecord relationship