当前位置:  开发笔记 > 编程语言 > 正文

访问Rails中的关联

如何解决《访问Rails中的关联》经验,为你挑选了1个好方法。

有没有办法让我可以获得特定模型在Rails中所属的模型列表?

例如:

class Project < ActiveRecord::Base
  has_one :status
  ...
end

class Task < ActiveRecord::Base
  has_one :status
  ...
end

class Status < ActiveRecord::Base
  belongs_to :project
  belongs_to :task

  # this is where I want to be able to pass in an array of the associations' class
  # names (to be used for checking input) rather than having to do w%{ project task } 
  # which leaves it open to failure if I add new associations in future
  validates_inclusion_of :status_of, :in => ?
  ...
end

希望这有点儿意义!



1> Otto..:

这将为您提供描述给定模型上的关联和其他内容的对象哈希Model.reflections.您希望散列中的所有值都是Reflection::AssociationReflection类.此代码应该为您提供所需的数组:

association_names = []
Model.reflections.each { |key, value| association_names << key if value.instance_of?(ActiveRecord::Reflection::AssociationReflection) }

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有