![](/img/trans.png)
[英]Using the reform gem with Rails, how do I populate a has_many :through nested model
[英]How do I populate a model in Rails?
我是Rails的新手,我目前正試圖圍繞框架的模型/數據庫方面。 雖然,我在理解模型,數據庫模式和視圖/控制器之間的連接時遇到了一些麻煩。
例如,假設我有一個文章模型和文章模型has_many作者。 如何使用實際文章/內容和使用相應作者數組的作者模型填充文章模型?
換句話說:如果我有
articles = Articles.search(params[:search])
在我的控制器中,Articles對象如何知道搜索我在視圖中寫的實際文章/內容? 我無法理解這種聯系。
我希望這是有道理的。
任何見解將不勝感激! 謝謝。
你的問題中隱藏着許多問題,所以這里有一些答案:
Article
是一個類(注意,它是單數),它提供了對文章數據進行操作的類方法。 這些類方法可以是: Article.new
, Article.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.