簡體   English   中英

如何在Rails中填充模型?

[英]How do I populate a model in Rails?

我是Rails的新手,我目前正試圖圍繞框架的模型/數據庫方面。 雖然,我在理解模型,數據庫模式和視圖/控制器之間的連接時遇到了一些麻煩。

例如,假設我有一個文章模型和文章模型has_many作者。 如何使用實際文章/內容和使用相應作者數組的作者模型填充文章模型?

換句話說:如果我有

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

在我的控制器中,Articles對象如何知道搜索我在視圖中寫的實際文章/內容? 我無法理解這種聯系。

我希望這是有道理的。

任何見解將不勝感激! 謝謝。

你的問題中隱藏着許多問題,所以這里有一些答案:

  • Article是一個類(注意,它是單數),它提供了對文章數據進行操作的類方法。 這些類方法可以是: Article.newArticle.find (方法由ActiveRecord定義)。 您還可以定義自己的類方法,例如Article.search,它可能會為您提供一個Article實例數組: articles

  • articles僅在您的控制器操作的本地范圍內可見。 如果使用@articles ,則將變量提升為實例變量,然后可以將其用於渲染視圖。 (視圖渲染器可以訪問控制器實例變量)

  • 為了在數據庫中存儲模型中的數據,可以使用Article實例從ActiveRecord繼承的方法,例如article.save

  • 因此,將數據從視圖引入數據庫的整個過程是: @article = Article.new' defines an empty model that can be loaded from a form in a view. If the form is submitted, @article = Article.new' defines an empty model that can be loaded from a form in a view. If the form is submitted, article = Article.create(params [:article]) would save the data into the database. And would save the data into the database. And @articles = Article.search(params [:search])`然后會返回一個包含對象的數組,這些對象可以在視圖中呈現。

一些參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM