Рельсы, скрепка не может сохранить файл

Итак, я использую Paperclip on Rails от Thoughtbot, но столкнулся с проблемой, когда все атрибуты изображения равны нулю:

[4;35;1mProject Create (0.0ms)[0m   [0mINSERT INTO `projects` (`name`, `start_date`, `status`, `image_file_size`, `updated_at`, `url`, `image_content_type`, `description`, `progress`, `image_updated_at`, `created_at`, `image_file_name`) VALUES('dsfg', '2010-01-01', 'asdf', NULL, '2010-01-01 10:42:18', 'asfd', NULL, 'sdfg', 0, NULL, '2010-01-01 10:42:18', NULL)[0m
[paperclip] Saving attachments.

Обыскивал форумы и тому подобное в поисках возможных исправлений и руководств, пробовал каждое исправление, но ничего. Никаких предупреждений, ошибок и тихих сбоев. Кроме того, включенные тесты не работают должным образом :(

Запуск Ruby 1.8.6, Rails 2.3.3 и последней версии Paperclip (а также ImageMagick работает, так как я использую RMagick для другого проекта)

В представлении у меня есть:

form_for project, :html => {:class => "ajaxForm", :multipart => true} do |f|
...
= f.file_field project.image.url

В контроллере у меня есть:

  has_attached_file :image
  attr_accessible :image
  attr_accessible :status, :name, :start_date, :url, :progress, :description
  attr_accessible :image_file_name, :image_content_type, :image_file_size, :image_created_at, :image_updated_at
  #I also tried having just the :image line or the image attributes line, but no go

Мой разработчик работает в Windows, поэтому я также попробовал здесь патч временного файла: http://thewebfellas.com/blog/2008/11/2/goodbye-attachment_fu-hello-paperclip

У меня такое чувство, что я упустил из виду что-то нелепое, поэтому любые комментарии были бы полезны. Спасибо!


person user117046    schedule 01.01.2010    source источник


Ответы (1)


Итак, основной причиной был ajax - хотя есть вызов POST через ajax, информация об изображении (и соответствующие атрибуты) не отправляются в заголовке. Я думаю, что это может быть связано с реальным поведением формы в браузере, поэтому было бы здорово получить ответ от кого-то, кто знает, как это обойти.

person user117046    schedule 02.01.2010
comment
Вы не можете загружать файлы через ajax. Вы можете использовать скрытый iframe для имитации поведения, подобного ajax. - person Eimantas; 02.01.2010
comment
Спасибо. Намного проще, чем я думал - kpumuk .info / ruby-on-rails / - person user117046; 03.01.2010