我正在使用gem' nested_form'形成我的rails应用程序,但我有一个问题,这很奇怪。
这是我的模特,例如:
class Spot < ActiveRecord::Base
has_many :spot_items, dependent: :destroy
has_many :images, dependent: :destroy
accepts_nested_attributes_for :spot_items, allow_destroy: true
accepts_nested_attributes_for :images, allow_destory: true
end
class Image < ActiveRecord::Base
belongs_to :Spot
mount_uploader :image, ImageImageUploader
end
class SpotItem < ActiveRecord::Base
belongs_to :Spot
mount_uploader :avatar, ChildImageUploader
end
在我的spots_controller.rb中,我设置了强大的参数
def parent_params
params.require(:spot).permit(:name, :images_attributes => [:id, :image, :_destroy], :spot_items_attributes => [:id, :name, :age, :image, :_destroy])
end
在创建所有功能工作时,编辑时我想从每个嵌套模型中删除一条记录,当我在show中提交时一切看起来都很好,但是当我再次编辑时,嵌套的记录仍然存在但仅针对子项,从图像记录是走了。
有人能给我一些线索吗?