upload_column problems on post after validation error

Hi to all the crew !

I’ve a little (big ?) problem.

I’m using upload_column plugin, it works very well but it throws an exception when I try to repost the form after a validation error.

Here some details:

Model: (hostel.rb)

HOSTEL_PHOTO_DIR = Proc.new {|inst, attr| “hostel/#{inst.id}”}

HOSTEL_PHOTO_THUMB = “100x100”

HOSTEL_PHOTO_NORMAL = “400x400”

image_column :photo_1, :store_dir => HOSTEL_PHOTO_DIR,

                     :versions => { :thumb =>

HOSTEL_PHOTO_THUMB, :normal => HOSTEL_PHOTO_NORMAL},

                     :filename => Proc.new {|inst, orig, ext|

“photo_1.#{ext}”}

View (signup_customer.rhtml):

<% upload_form_tag :action => “update_customer” do %>

...

<label for="hostel_photo_1">Photo 1</label>

<%= upload_column_field "hostel", "photo_1" %>

<% end %>

Controller:

def update_customer

begin

  ...

  hostel.attributes = params[:hostel]   # Where the error

occurred…

  hostel.save!

rescue

  @hostel = hostel

   render :action => "signup_customer"

end

end

Now, if I post the form without validation exception, all works good !!!

But if I try to post the form without a required field I give an exception and the controller show the form again, if I put the required data and post again I receive this exception:


invalid format of 'hostel/117/photo_1.jpg;0182-Problemi-gravi.jpg'
vendor/plugins/uploadcolumn/lib/upload_column.rb:431:in `set_path'
vendor/plugins/uploadcolumn/lib/upload_column.rb:809:in `send'
vendor/plugins/uploadcolumn/lib/upload_column.rb:809:in `photo_1_temp='
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1672:in `send'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1672:in `attributes='
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1671:in `each'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1671:in `attributes='
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/associations/association_proxy.rb:123:in `send'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/associations/association_proxy.rb:123:in `method_missing'
app/controllers/hostel_controller.rb:53:in `update_customer'

At line 53 in hostel_controller.update_customer there is the line:

  hostel.attributes = params[:hostel]   # Where the error

occurred…

I don’t know how to solve this problem !!!

Can you help me ???

Thanks in advance !!!

Tex.