Active record duplication and save failure

I have this error: Errno::ENOENT in PicturethingsController#update_profile.

I’m trying to duplicate the standardpicture record and save that to @character.profilepicture. I also can’t get @character.profilepicture to save to the database (I know from checking after entering the rails console).

Here is the offending method:


def update_profile
  @character = Character.find_by(callsign: params[:callsign])
  standardpicture = Picturething.find_by(id: params[:picid])
  @character.profilepicture = standardpicture.dup!
  @character.profilepicture.picture = @character.profilepicture.picture.profile
  respond_to do |format|
    format.html do
      redirect_to @character.sociable



has_many :standardpictures, class_name: "Picturething",
                            inverse_of: :character,
                            foreign_key: "character_standard_id",
                            dependent: :destroy
has_one  :profilepicture,   class_name: "Picturething",
                            inverse_of: :character,
                            foreign_key: "character_profile_id",
                            dependent: :destroy



mount_uploader :picture, CharacterpicUploader


I have this error: `Errno::ENOENT in PicturethingsController#update_profile`.

Is that all it says? Look in the log file to see if there is more. It should tell you which line it failed on and I would have expected some indication of the file it was looking for.

If not then simplify the method till you work out exactly which statement is causing the problem.

As a thought, does the picture have an attached file or something like that? Is the dup trying to do something with the file?