我创建了一个名为Source的单表继承实体。它有很多特定的孩子(类型)。例如MonsterSource,IndeedSource,FooSource ...
class Source < ApplicationRecord
has_many :job_offers
def process
puts 'Process from Source'
end
end
class MonsterSource < Source
end
class FooSource < Source
end
在源的编辑视图中,我想创建一个包含该源的所有“子级”(类型)的Select。例如,我要在编辑源时从选择按钮中选择“ Monster Source,Indeed Source和Foo Source”。
有可能吗?如果是,怎么办?
答案 0 :(得分:1)
内部源类:
def self.types
ObjectSpace.each_object(Class).select { |klass| klass < self }
end
然后在您看来:
<%= select_tag :source_type, options_for_select(Source.types) %>