Topic: File_column raises upload-related error on ActiveRecord find(:all)?

I've been tasked with developing an XML-RPC front-end for an existing Ruby On Rails application that uses File_column to support file uploads. The application includes a model called Users; the Users model includes a column for "user_image" (in the database, it's the path to the file in the server file system).  The application itself works fine.

I have created an xml-rpc controller and API that exposes the methods "User[] Getusers()" and "User Getuserdetails(int id)." For clarity, the Getusers() method looks like this:

class MyApi < ActionWebService::API::Base
  api_method :getusers,
             :returns [{:users => [User]}]
  api_method :getuserdetails,
             :expects [{:userid => :integer}]
             :returns [{:user => User}]
  #.... (other methods here)

and in my controller:
class MyApiController < ApplicationController
  wsdl_service_name 'MyApi'
  web_service_scaffold :test

  def getusers
    users = User.find(:all, :order=>"last_name")

  def getuserdetails(user_id)
    user = User.find(user_id)
  #... other methods here

I can call Getuserdetails successfully on any userid that doesn't have a user image uploaded (ie, user_image = NULL in the database), but whenever I try to call Getusers() or Getuserdetails() on a userid that includes an image (ie, user_image = myface.jpg in the database),  File_Column raises the following error:

Do not know how to handle a string with value '(redacted the path, but I know this is a valid path)' that was passed to a file_column. Check if the form's encoding has been set to 'multipart/form-data'.

I've looked at the File_Column code and googled rather thoroughly, and it looks like this error should only be raised by the method assign(file f), and only during an attempted upload where File_Column is passed the path as a string rather than the file itself.   I don't understand what's happening in this model's find() method to cause File_Column to attempt an upload! The User model's code does not do anything to override the default find methods.

Equally mystifying is that the exact same call ( User.find(:all) )from a pre-existing controller works without throwing an exception!

Has anyone dealt with this before? Any hints would be greatly appreciated!