gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中创建事件记录类的非持久化实例?

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:02 25 4
gpt4 key购买 nike

我是 ruby​​ 和 ruby​​ on rails 的新手,我正在尝试建立一个博客。这个博客有文章,正在扩展 ActiveRecord::Base。

它们也与标签或评论有一些关系。

现在,我希望能够从数据库以外的其他来源加载文章。例如来 self 的网站,它不是同一个应用程序,它提供了一个 REST API 来加载文章。

我该怎么做?

使用扩展 ActiveRecord::Base 的 ActiveArticle 和不扩展的 ExternalArticle 以及实现相同功能的 ArticleModule?

这似乎不是正确的方法。谢谢

最佳答案

构成 Rails 模型的大部分内容并不存在于 ActiveRecord 中,而是存在于 ActiveModel 中。

class ExternalArticle
include ActiveModel::Model
end

将为您提供验证、回调、与 URL 助手的兼容性等功能。

参见 Railscast #219简要概述。

但是,ActiveModel 不会为您提供与其他模型的关联。如果你需要这些,activerecord-tableless gem可能有帮助。

编辑:

我现在看到您的非持久化模型对象来自 REST API。看看ActiveResource还有;它曾经是 Rails 的一部分,但从 Rails 4 开始被提取到一个单独的 gem 中。它基本上是用于远程对象的 ActiveRecord。

关于ruby-on-rails - 如何在 Rails 中创建事件记录类的非持久化实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440765/

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