-1
假設我們有一個具有name屬性的User模型。 我想創建一個包含多個文本字段的表單,以在數據庫中創建多個記錄。我能夠使用form_tag完成此操作,但有沒有辦法使用form_for來完成它?Rails - 以一種形式創建一個模型的多個記錄
假設我們有一個具有name屬性的User模型。 我想創建一個包含多個文本字段的表單,以在數據庫中創建多個記錄。我能夠使用form_tag完成此操作,但有沒有辦法使用form_for來完成它?Rails - 以一種形式創建一個模型的多個記錄
要使用form_for
做到這一點是可能的,但因爲這是真的不是涉及到一個單一的模型實例的形式,你真的應該堅持form_tag
做它作爲form_for
每個名字必須是屬性。
你可以做(在你的模型)......
attr_accessor :name1, :name2, :name3
這將讓即使他們不是在數據庫表列的其他名稱被接受。
在創建方法則...
def create
%i(name name1 name2 name3).each |this_name|
User.create(name: user_params(this_name)) if user_params(this_name).present?
end
end
def user_params
params.require(:user).permit(:name, :name1, :name2, :name3)
end
我會堅持我的form_tag,因爲它對我來說似乎更容易維護。謝謝史蒂夫! – Ancinek
可以使另一個模型稱爲用戶名,讓你的form_for內多個嵌套形式。 – luissimo