ギャラリーモデルとImagesモデルでアプリケーションを開発しています。各モデルには画像があり、それぞれの画像は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フォームフィールドで動作することをテストしましたか? –
Jon、アイデアは、IFRAMEには独自の送信ボタンが付いた独自のフォームがあり、周囲のフォームから独立して送信できるという考えがあります。内側のフォームフィールドが周囲のフォームと共に提出されないことは間違いありません。 –