我想在我的Rails应用程序中创建一个表单,这个表单允许我使用我正在创建的主对象创建多个关联对象。我的模型如下:
01 00 DA 3D 07 09 46 6F 73 73 69 6C 03 03 12 18
我希望能够在创建Bucket对象时创建多个Resource对象。因此,当我去创建一个新的Bucket时,我希望能够在同一个表单上创建多个Resource对象。
我希望这是有道理的!
答案 0 :(得分:0)
您可以使用accepts_nested_attributes_for
来实现这一目标。
class Bucket < ApplicationRecord
has_many :resources
belongs_to :user
accepts_nested_attributes_for :resources
end
class Resource < ApplicationRecord
belongs_to :model
has_attached_file :artifact
end
然后您可以通过发送此格式的发布请求来创建您的存储桶。
bucket: {
resources_attributes: [
// resource objects go here
]
}
或使用fields_for
如果您在前端部分使用rails
<%= form_for @bucket do |bucket_form| %>
// bucket form fields go here
<%= bucket_form.fields_for :resources do |resource_fields| %>
// resource fields go here
<% end %>
<% end %>
您可以查看文档以获取fields_for
的更多选项。