can anybody let me know how to do image upload using file_column and
ajax???
On 10 Dec 2007, at 09:19, Koli K. wrote:
can anybody let me know how to do image upload using file_column and
ajax???
Google search “file_column ajax upload”:
http://khamsouk.souvanlasy.com/2007/5/1/ajax-file-uploads-in-rails-
using-attachment_fu-and-responds_to_parent
http://groups.google.com/group/ajaxscaffold/browse_thread/thread/
1a85713b55e32324/e36bd44cb02306bb
Should be more than enough to get you started.
Best regards
Peter De Berdt
P6bb
Should be more than enough to get you started.
Best regards
Peter De Berdt
both the html links are broken does not give ant information
On 10 Dec 2007, at 10:44, Koli K. wrote:
Should be more than enough to get you started.
both the html links are broken does not give any information
Both the links were working this morning and practically gave you the
entire application. You need to use the responds_to_parent plugin and
send your form through an iframe. The rest of the route through the
controller is just the same as a normal rjs action, with the
exception of wrapping it into a responds_to_parent block.
Best regards
Peter De Berdt
Both the links were working this morning and practically gave you the
entire application. You need to use the responds_to_parent plugin and
send your form through an iframe. The rest of the route through the
controller is just the same as a normal rjs action, with the
exception of wrapping it into a responds_to_parent block.Best regards
Peter De Berdt
Thanks for the reply,i was able to upload the image with out using ajax.
the problem that i’m facing now is that now i’m getting an RJS error.
can anyone please help.
My UPLOAD Controller:
def create
@post=Entry.new(params[:entry])
if @post.save
redirect_to :action=>‘list’
else
render :action=> ‘new’
end
end
My /app/views/upload/new.rhtml:
<%= start_form_tag( { :action => ‘create’ }, :multipart => true ) %>
<%= render :partial => ‘form’ %>
<%= submit_tag ‘Create’ %>
<%= link_to_remote ‘Cancel’, :url => {:action =>
‘list’}, :options =>{‘class’ => ‘button_group’} %>
<%= end_form_tag %>
The error which i’m getting
try {
Element.update(“message”, “”);
clearMarkers();
createMarker(13.0049752807617, 77.634768984375, “upload”, 27);
createMarker(12.9878091430664, 77.5891070581055, “upload”, 28);
createMarker(12.9644631958008, 77.6254992700195, “upload”, 29);
} } catch (e) { alert(‘RJS error:\n\n’ + e.toString());
alert('Element.update(“message”, “”);<a href=\"#\"
onclick=\“new Ajax.Updater(‘results’, ‘/upload/show/27’,
{asynchronous:true, evalScripts:true}); return
false;\”>archan\n\n \n \n<li id=\“entries27\”
style=\“background-color:white\”>\n\t <a href=\"#\"
onclick=\“new Ajax.Updater(‘results’, ‘/upload/show/28’,
{asynchronous:true, evalScripts:true}); return
false;\”>amogh\n\n \n \n<li id=\“entries17\”
style=\“background-color:#ffffaa\”>\n\t <a href=\"#
On 11 Dec 2007, at 07:11, Koli K. wrote:
Thanks for the reply,i was able to upload the image with out using
ajax.
the problem that i’m facing now is that now i’m getting an RJS error.
can anyone please help.
Your code makes it look as if you’ve either not read the Agile Web
Development with Rails book or have the first (and thus quite
outdated edition). There’s a lot of stuff there that’s deprecated in
Rails 2.
First, make sure you download the responds_to_parent plugin and
install it in vendor/plugins:
http://code.google.com/p/responds-to-parent/source
My UPLOAD Controller:
def create
@post=Entry.new(params[:entry])
if @post.save
responds_to_parent do
render :action => “list.rjs”
end
else
responds_to_parent do
render :action => “new.rjs”
end
endend
My /app/views/upload/new.rhtml:
<% form_tag({:action => ‘create’}, :multipart => true, :target =>
"frame) %>
<%= render :partial => ‘form’ %>
<%= submit_tag ‘Create’ %>
<%= link_to_remote ‘Cancel’, {:url => {:action =>
‘list’}}, {‘class’ => ‘button_group’} %>
</div>
<% end %>
In your rjs files, you can play with the page
[“id_of_list”].replace_html commands to do your thing.
Best regards
Peter De Berdt
Peter De Berdt wrote:
On 11 Dec 2007, at 07:11, Koli K. wrote:
<% end %>
In your rjs files, you can play with the page
[“id_of_list”].replace_html commands to do your thing.Best regards
Peter De Berdt
can u show me an example of how to declare rjs file as i have never done
it before
On 11 Dec 2007, at 10:40, Koli K. wrote:
can u show me an example of how to declare rjs file as i have never
done
it before
Please, have a look at the api docs:
http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/
JavaScriptGenerator/GeneratorMethods.html
Best regards
Peter De Berdt
html
Best regards
Peter De Berdt
can u show me a example of list.rjs?the action from create is passed to
list
but is not rendered in the same div.
MY CONTROLLER
def list
@records=Entry.find(:all)
render(:update) {|page| page.show_all(@records)}
end
def create
@post=Entry.new(params[:entry])
if @post.save
responds_to_parent do
render :action=>“list.rjs”
end
else
render :action=> ‘new’
end
MY app/views/_list.rhtml
<% for record in @records %>
</li>
<% end %>
My list.rjs
page.call ‘clearMarkers’
page.replace_html “results”, :partial => ‘list’
THe list view is not getting rendered when i click on the submit
button.BUt the
image upload is happening in the database.
can u please let me know how to render the list view?/
Peter De Berdt wrote:
On 12 Dec 2007, at 06:57, Koli K. wrote:
THe list view is not getting rendered when i click on the submit
button.BUt the
image upload is happening in the database.Best regards
Peter De Berdt
Thanks Peter for all the help.I got it working .
The LInk which really helped the most was this
http://www.naffis.com/2006/12/11/ajax-uploads-image-manipulation-drag-and-drop-sorting
This way it was very simple to do.
Regards,
On 12 Dec 2007, at 06:57, Koli K. wrote:
THe list view is not getting rendered when i click on the submit
button.BUt the
image upload is happening in the database.can u please let me know how to render the list view?/
Don’t have the time to start coding in your place, but I notice
you’re not setting the @records instance variable in your create
method. Remember that render :action DOESN’T execute the code in the
method, it just renders the template.
If you need the @records instance variable in more than one method,
you could use a before_filter (see the api.rubyonrails.org api docs).
Another way would be to insert the new record at the bottom of the
list using page.insert_html :bottom, … instead of rerendering the
complete list.
Did you read the Agile Web D. with Rails book? What you’re
asking is all explained nicely in the book.
Best regards
Peter De Berdt
Koli K. wrote:
can anybody let me know how to do image upload using file_column and
ajax???
Its a simple app to upload a image
create table pictures (
id int not null auto_increment,
comment varchar(100),
name varchar(200),
content_type varchar(100),
data blob,
primary key (id)
);
class UploadController < ApplicationController
def get
@picture = Picture.new
end
def save
@picture = Picture.new(params[:picture])
if @picture.save
redirect_to(:action => ‘show’, :id => @picture.id)
else
render(:action => :get)
end
end
def picture
@picture = Picture.find(params[:id])
send_data(@picture.data,
:filename => @picture.name,
:type => @picture.content_type,
:disposition => “inline”)
end
def show
@picture = Picture.find(params[:id])
end
end
get.rhmtl
<%= error_messages_for(“picture”) %>
<%= form_tag({:action => ‘save’}, :multipart => true) %>
Comment: <%= text_field(“picture”, “comment”) %>
Upload your picture: <%= file_field(“picture”, “picture”) %>
<%= submit_tag(“Upload file”) %>
<%= end_form_tag %>
show .rhtml
<%= @picture.comment %>
<img src="<%= url_for(:action => “picture”, :id => @picture.id) %>"/>
For more go to Agile web Development with Rails Book
Page no.351