Hi, I have followed the tutorial in the AWDWR book for uploading an image. This involves adding the following field to the form. <%= f.file_field :uploaded_picture %>
The model then goes to work on the data to store it in the database, with the following:
validates_format_of :content_type, :with => /^image/, :message => "-- you can only upload pictures"
def uploaded_picture=(picture_field) self.name = base_part_of(picture_field.original_filename) self.content_type = picture_field.content_type.chomp self.data = picture_field.read end
def base_part_of(file_name) File.basename(file_name).gsub(/[^\w._-]/, '' ) end
Now, all of this works fine, but I would like the picture upload to be an optional feature, but if the user fills in the form and leaves the field blank, the following error is displayed
undefined method `original_filename' for "":String
I've tried adding "unless picture_field.empty/nil? to the uploaded_picture action, but I can't get anything that works for both an image being supplied and no image being supplied. Can anyone suggest a way to get around this? Thanks.