簡體   English   中英

Ruby on Rails:將子記錄添加到現有父項中,而無需訪問父項

[英]ruby on rails : adding child records to an existing parent without visiting the parent

您將如何處理允許用戶將子對象添加到父項而無需他們導航到父項的情況?

例如,添加期刊文章而不必導航到該期刊並先發布? 父級可能還不存在。

我不希望用戶輸入繁重的數據,因此讓他們查找或創建日記,然后查找或創建問題似乎有點麻煩。 我寧願只有一個包含日記和期刊字段的表格。 如果不是因為用戶對文章而不是期刊或期刊感興趣,那么邏輯就很簡單。

您是否只為孩子修改創建內容,以便它找到或創建父母?

我假設您有一個包含許多文章的期刊模型和一個屬於期刊的文章模型。 首先,您應該創建到日記帳而不是日記帳的文章控制器的路由:

ActionController::Routing::Routes.draw do |map|
  map.resources :journals, :has_many => :articles
  map.resources :articles
end

現在,您可以使用URL /articles/new/journals/1/articles/new進入Articles控制器的新操作。 然后在您的Articles控制器中的新操作中,執行以下操作:

@article = Article.new(:journal_id => params[:journal_id])

哪個將文章的journal_id設置為傳遞的任何參數。如果未傳遞任何參數,則journal_id將為nil。

在ERB模板中,只需執行以下操作即可創建下拉列表:

<%= f.collection_select :journal_id, Journal.all(:order => "name"), :id, :name, :include_blank => true %>

然后,用戶可以選擇日記帳,但是如果日記帳被傳遞,它將被預先選擇為正確的值。

暫無
暫無

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

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