gpt4 book ai didi

ruby-on-rails - Ruby-on-Rails 中的模型继承、工厂模式和自解析

转载 作者:行者123 更新时间:2023-12-04 21:26:42 25 4
gpt4 key购买 nike

我正在与一个网站合作,该网站将从许多不同的来源中提取提要,然后将这些流保存到一个通用模型中,在这种情况下是一个特征。 FeedEntry 类中的代码示例可能是:

feed = Feedzirra::Feed.fetch_and_parse(feed_url)
add_entries(feed.entries)
...

def self.add_entries(entries)

entries.each do |entry|
# Should know how to parse itself into a trait
@trait = parse(entry)
if @trait.save
...
end
end

诚然,我是java背景的,在java这里,我会建立一个继承层次结构,然后在FeedEntry的每个子类上扩展parse方法,让每个FeedEntry知道如何解析自己。所以我的问题:
1) 这是 Rails 中可行的计划吗?
2)如果是这样,是否只包含一个基本上是“类型”的列,说明 FeedEntry 是什么子类?
3)如果没有,对最干燥的方法有什么建议吗?

谢谢!

最佳答案

我认为您可以使用 rails 提供的单表继承。引用 :
http://juixe.com/techknow/index.php/2006/06/03/rails-single-table-inheritance/http://api.rubyonrails.org/classes/ActiveRecord/Base.html .

之后,您可以在每个“继承的”类中添加 parse 方法。您可能想要添加 before_save 回调并调用 self.parse 。我不确定这是否是最干燥的方式来做到这一点......看看其他人怎么说会很有趣。

关于ruby-on-rails - Ruby-on-Rails 中的模型继承、工厂模式和自解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com