我担心要建立无范围的关联,但无法获得关联。在我的一种实例方法中,我有这样的逻辑:
假设我只想使用一个父母(belongs_to
)
parent_class_name = self.class.reflect_on_all_associations(:belongs_to).map(&:name).last
parent = nil
if parent_class_name.present?
parent_class_const = parent_class_name.to_s.camelize.constantize
parent_class_const.send(:unscoped) do
parent = self.send(parent_class_name)
end
end
父级关联始终具有默认范围,不应为默认范围。同样,我对has_many
关联有逻辑,但这也不起作用。
期待获得帮助。
P.S我不想使用任何宝石
答案 0 :(得分:0)
首先,您可以直接获取类常量:
parent_class = self.class.reflect_on_all_associations(:belongs_to).last.klass
然后您可以直接在课堂上致电unscoped
:
parent_class.unscoped do
# do the unscoped stuff here
end