2
我正在开发一个带有图库模型和图像模型的应用程序,其中每个图库has_and_belong_to_many图像。ActiveAdmin:在另一个表单中将窗体显示为IFRAME
我目前正在开发创建/编辑图库的表单。从这个表格中,我希望用户既可以添加现有图片,也可以将新图片上传到图库中。经过多次讨论后,我能够使用Rails的“嵌套模型表单”功能来实现此目的,但从UI角度来看,最终结果并不令人满意。
我意识到我真正需要的是一个IFRAME,它包含一个图像窗体。如何将图像表单作为IFRAME包含在内,而没有通常与表单一起呈现的所有周围标记(例如标题,标题栏和页脚)?在下面的代码中注意到,当我在我的“new_iframe”控制器方法中调用“render”时,我已经在使用“:layout => false”。
这里是我的图片资源文件:
ActiveAdmin.register Image do
controller.authorize_resource
scope_to :current_admin_user
collection_action :new_iframe, :method => :get do
@image = Image.new
render :action => :new, :layout => false
end
controller do
...
end
index do
column :title do |image|
link_to image.title, edit_admin_image_path(image)
end
column :image do |image|
image_tag(image.thumb_path, :alt => "")
end
column :created_at
column :updated_at
default_actions
end
form :html => { :enctype => "multipart/form-data" } do |a|
a.inputs "Image", :multipart => true do
a.input :title
a.input :asset, :as => :file
end
a.buttons
end
end
我会*如果嵌入式IFRAME文档中的表单字段在提交表单时包含在参数中,那么会很惊讶。你有没有测试过,这是一个非常简单的HTML表单字段,首先? –
乔恩,这个想法是,IFRAME具有自己的形式和自己的提交按钮,允许它独立于周围的表单提交。你是正确的,内部表单域不会与周围的表单一起提交。 –