为了从我的对象中删除(回形针)图像,我定义了一个自定义回调(和路由):
ActiveAdmin.register Camping do
#...
member_action :destroy_image, :method => :delete do
camping = Camping.find(params[:id])
camping.image.destroy
redirect_to({:action => :show}, :notice => "Image deleted")
end
end
这按预期工作;通过命名路线destroy_image_admin_camping => /admin/campings/:id/destroy_image
。
问题是我找不到如何将其添加到表单中:
ActiveAdmin.register Camping do
form do |f|
f.inputs "Camping" do
f.input :name
f.input :image
f.action :delete_image, :url => destroy_image_admin_camping_path(@camping.id), :button_html => { :method => :delete }
f.input :description
end
f.actions
end
#...
end
更详细:我不知道如何将“我们正在编辑的当前项目的id”传递给destroy_image_admin_camping_path
;@camping
是零,f.camping
没有定义,所以我不知道如何在那里传递项目。
这是正确的方法吗?我更喜欢这个“ajax-ish”界面而不是更常见的复选框-删除-图像-更新,但我不确定这是否会起作用。