DavicÃn … wrote:
Me he bajado el código de la página y no está con ajax ni el iframe.
Le he metido el iframe pero al no tener ajax estoy en la misma
situación…
Bajé el ejemplo, lo adapté para MySql en database.yml, bajé la gema
mini_magick y está funcionando ok. Efectivamente como comentas varÃa,
sin embargo si observas en index.rhtml, se encuentra el iframe y además
observa que en el form_for, la :url se le agrega el “.js” para que
llegue a la accion create en formato js, revisando el development.log
podemos demostrar esto :
Parameters: {“commit”=>“Create”, “format”=>“js”, “action”=>“create”,
“controller”=>“assets”,
“asset”=>{“uploaded_data”=>#StringIO:0x461a20c}}
#index.rhtml
Listing assets
<% @assets.each do |asset| %>
<%= render(:partial => '/assets/list_item', :object => asset)%>
<% end %>
<% form_for(:asset, :url => assets_path + “.js”, :html => { :multipart
=> true, :target => ‘upload_frame’}) do |form| %>
<%= render(:partial => ‘/assets/form’, :object => form) %>
<% end %>
#assets_controller.rb
class AssetsController < ApplicationController
def create
@asset = Asset.new(params[:asset])
respond_to do |format|
if @asset.save
flash[:notice] = 'Asset was successfully created.'
format.html { redirect_to asset_url(@asset) }
format.xml { head :created, :location => asset_url(@asset) }
format.js do
responds_to_parent do
render :update do |page|
page.insert_html :bottom, "assets", :partial =>
‘assets/list_item’, :object => @asset
page.visual_effect :highlight, “asset_#{@asset.id}”
end
end
end
else
format.html { render :action => “new” }
format.xml { render :xml => @asset.errors.to_xml }
format.js
end
end
end
end
Una vez estando en la accion create actualiza los elementos de la página
utilizando RJS.
Espero te sirva.
Jaime Mora R.