编辑三重嵌套字段正在创建重复项 Rails 5.1
Editing Triple Nested Fields is Creating Duplicates Rails 5.1
我有一个三层嵌套的资源,我可以很好地为它创建新的值。但是,在尝试编辑记录时,我得到了嵌套值的重复字段,然后创建了多个条目。
我将嵌套字段乘以 3。
def new
@roast = Roast.new
3.times {@roast.countries.build.regions.build}
end
编辑方法:
def edit
@roast = Roast.friendly.find(params[:id])
3.times {@roast.countries.build.regions.build}
end
我应该删除此处的 'build' 元素吗?但是,我确实希望用户能够在需要时添加新值。
而 create 对此没有什么特别之处:
def create
@roast = Roast.new(roast_params)
respond_to do |format|
if @roast.save
format.html { redirect_to @roast, notice: 'Roast was successfully created.' }
format.json { render :show, status: :created, location: @roast }
else
format.html { render :new }
format.json { render json: @roast.errors, status: :unprocessable_entity }
end
end
end
我明明想让3个嵌套字段显示在编辑页面上,但我做错了什么让它一直重复。
您无需在编辑中添加国家或地区。只需找到烤肉。
#This is wrong
3.times {@roast.countries.build.regions.build}
编辑烤肉时,您可以通过 @roast.countries
访问其国家/地区
如果需要,您可以定义一个实例变量以在表单中使用(尽管不需要)@countries = @roast.countries
我有一个三层嵌套的资源,我可以很好地为它创建新的值。但是,在尝试编辑记录时,我得到了嵌套值的重复字段,然后创建了多个条目。
我将嵌套字段乘以 3。
def new
@roast = Roast.new
3.times {@roast.countries.build.regions.build}
end
编辑方法:
def edit
@roast = Roast.friendly.find(params[:id])
3.times {@roast.countries.build.regions.build}
end
我应该删除此处的 'build' 元素吗?但是,我确实希望用户能够在需要时添加新值。
而 create 对此没有什么特别之处:
def create
@roast = Roast.new(roast_params)
respond_to do |format|
if @roast.save
format.html { redirect_to @roast, notice: 'Roast was successfully created.' }
format.json { render :show, status: :created, location: @roast }
else
format.html { render :new }
format.json { render json: @roast.errors, status: :unprocessable_entity }
end
end
end
我明明想让3个嵌套字段显示在编辑页面上,但我做错了什么让它一直重复。
您无需在编辑中添加国家或地区。只需找到烤肉。
#This is wrong
3.times {@roast.countries.build.regions.build}
编辑烤肉时,您可以通过 @roast.countries
访问其国家/地区
如果需要,您可以定义一个实例变量以在表单中使用(尽管不需要)@countries = @roast.countries