Это простой псевдокод того, что вы могли бы сделать. Фильтр before_filter выполняется до выполнения действия (upload_form_action - страница формы загрузки, а upload_action - страница, получающая файл
allow_to_upload должен быть помощником / функцией / и т. Д., Который возвращает истину / ложь, если он ложен, он сделает 403 несанкционированными, в противном случае он просто будет экономить.
before_filter :check_upload, :only => [:upload_form_action, :upload_action]
protected
def check_upload
render :nothing, :status => 403 and return unless allowed_to_upload
end