gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中填充模型?

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

我是 Rails 的新手,目前我正在努力研究框架的模型/数据库方面。尽管如此,我在理解模型、数据库模式和 View / Controller 之间的联系时遇到了一些麻烦。

例如,假设我有一个 Articles 模型,而 Articles 模型有_many 作者。我如何着手使用实际文章/内容填充文章模型以及使用相应作者数组填充作者模型?

换句话说:如果我有

articles = Articles.search(params[:search])

在我的 Controller 中,文章对象如何知道搜索我在 View 中编写的实际文章/内容?我无法理解这种联系。

我希望这是有道理的。

如有任何见解,我们将不胜感激!谢谢。

最佳答案

你的问题中隐藏了很多问题,所以这里有一些答案:

  • Article 是一个类(注意,它是单数),它提供了对 Article 数据进行操作的类方法。这些类方法可以是:Article.newArticle.find(这些方法由 ActiveRecord 定义)。您还可以定义自己的类方法,例如 Article.search,它可能会为您提供一个 Article 实例数组:articles

  • articles 仅在 Controller 操作的本地范围内可见。如果您使用 @articles,您会将变量提升为实例变量,然后可用于呈现 View 。 ( View 渲染器可以访问 Controller 实例变量)

  • 为了将来自模型的数据存储在数据库中,您使用 Article 实例从 ActiveRecord 继承的方法,例如 article.save

  • 因此,将数据从 View 导入数据库的整个过程是: @article = Article.new' 定义了一个空模型,它可以从 View 中的表单加载。如果提交表单,@article = Article.create(params[:article])会将数据保存到数据库中。然后@articles = Article.search(params[:search])` 会返回一个包含对象的数组,这些对象可以在 View 中呈现。

一些引用资料:

关于ruby-on-rails - 如何在 Rails 中填充模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16645101/

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