簡體   English   中英

Activeadmin在表單中創建新的關聯“belongs_to”

[英]Activeadmin creating new associations “belongs_to” in a form

擁有這些示例模型:

class Post < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
  has_many :posts
end

想象一下,我有一個表單來創建新帖子,默認情況下,我得到一個包含可用類別列表的選項,但是如果我想從“新/編輯帖子”表單創建新類別呢?

使用彈出窗口以創建新類別的選擇框的按鈕將是完美的。

比創建新類別然后創建新帖子更好。

我一直看到的是創建has_many關聯,但不是belongs_to one。

謝謝

我想你在這里問幾個問題。 我要說的是,更重要的是如何在與其通常構建方式相反的方向上創建關聯(因為那是我知道如何回答的關聯)。 我會專注於那個。

為簡單起見,我將只定義一個帶有標簽的簡單文本字段,您可以將其作為表單的一部分填寫。

= label_tag :new_category_name
= text_field_tag :new_category_name

在您的控制器中,您可以像這樣構建新類別。

@post.build_category(name: params[:new_category_name])

如果您以常規方式保存@post,那么將在與帖子相同的事務中創建類別,因此如果失敗則不會創建類別。 如果你希望它保存類別,無論你怎么稱呼@post.create_category

這是文檔: http//api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

在表格奇異關聯(一對一)中 ,用您的模型名稱替換other 關聯

我認為另一個問題是如何讓它在視圖中看起來很好看。 你當然可以選擇如何使它看起來很好。 您可以按照建議創建彈出窗口。 您也可以使用AJAX發送一個小的xhr請求。 我也見過花哨的組合選擇/文本框。

暫無
暫無

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

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