Dylan Markow
2006-Jan-22 20:10 UTC
[Rails] File_column not keeping value during page reloads
I''m trying to use the file_column plug-in to attach a file to a newsletter posting. It works fine if I get the form right the first time, but if I get an error, such as not typing in a required field, and the form re-displays, my file selection box reverts to "no file selected." Here''s my relevant controller code: def new @newsletterpost = Newsletterpost.new end def add_post @newsletterpost = Newsletterpost.new(params[:newsletterpost]) @newsletterpost.user_id = @session[:user].id if @newsletterpost.save flash[:notice] = "Newsletter posting was successfully created." redirect_to :action => ''list'' else render :action => ''new'' end end And the relevant section from my _form.rhtml file: <label for=''newsletterpost_filename''>Attachment:</label><br/> <%= file_column_field ''newsletterpost'', ''filename'' %> <br /><br /> And my newsletterpost model: class Newsletterpost < ActiveRecord::Base belongs_to :user belongs_to :newslettercategory file_column :filename validates_presence_of :title end Any suggestions? Thanks!!
Kyle Maxwell
2006-Jan-22 20:38 UTC
[Rails] File_column not keeping value during page reloads
On 1/22/06, Dylan Markow <dylan@dylanmarkow.com> wrote:> I''m trying to use the file_column plug-in to attach a file to a > newsletter posting. It works fine if I get the form right the first > time, but if I get an error, such as not typing in a required field, and > the form re-displays, my file selection box reverts to "no file selected." > > Here''s my relevant controller code: > > def new > @newsletterpost = Newsletterpost.new > end > > def add_post > @newsletterpost = Newsletterpost.new(params[:newsletterpost]) > @newsletterpost.user_id = @session[:user].id > if @newsletterpost.save > flash[:notice] = "Newsletter posting was successfully created." > redirect_to :action => ''list'' > else > render :action => ''new'' > end > end > > And the relevant section from my _form.rhtml file: > > <label for=''newsletterpost_filename''>Attachment:</label><br/> > <%= file_column_field ''newsletterpost'', ''filename'' %> <br /><br /> > > And my newsletterpost model: > > class Newsletterpost < ActiveRecord::Base > belongs_to :user > belongs_to :newslettercategory > file_column :filename > validates_presence_of :title > end > > > > Any suggestions? Thanks!! > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >The file is prolly just being stored in the filename hidden field. I have found it useful to add some sort of notice beneath the file_column_field to tell the user what is currently stored, because the file_column_field definitely doesn''t do that. Something like: <%=File.basename(@model.filename.to_s)%> -- Kyle Maxwell Chief Technologist E Factor Media // FN Interactive kyle@efactormedia.com 1-866-263-3261
Sebastian Kanthak
2006-Jan-22 21:58 UTC
[Rails] File_column not keeping value during page reloads
On 1/22/06, Dylan Markow <dylan@dylanmarkow.com> wrote:> I''m trying to use the file_column plug-in to attach a file to a > newsletter posting. It works fine if I get the form right the first > time, but if I get an error, such as not typing in a required field, and > the form re-displays, my file selection box reverts to "no file selected."you can''t do anything against this as pre-filling a file selection box with a custom value would create quite a security issue. So you have to create your own indication that a file has been uploaded, as Kyle suggested. Sebastian