Скрепка - Проверяет Тип файла, но не Присутствие

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

У меня есть это:

class TestModel < ActiveRecord::Base
    #stuff
    has_attached_file :sound #etc...
    validates_attachment_content_type :sound, :content_type => ['audio/mp3', 'application/x-mp3']
end

И когда у меня нет существующего звукового файла, это говорит мне, что это не один из допустимых типов контента. Я попытался добавить '' к :content_type массив, который также не работает!

Я также делал попытку создания процедуры лямбды :if свойство, но я не могу заставить это работать без некоторой ошибки.

Что-нибудь отсутствующее здесь?

6
задан Lowgain 10 May 2010 в 22:55
поделиться

2 ответа

фрагмент моей модели:

  has_attached_file :logo, :styles => { :medium => ["300x300>", :png], :thumb => ["100x100>", :png] }
  validates_attachment_size :logo, :less_than => 2.megabytes
  validates_attachment_content_type :logo, :content_type => ['image/jpeg', 'image/png', 'image/gif']

и если я не предоставлю файл изображения, @ obj.update_attributes (..) не вызывает ошибки, но проверяет, если я предоставить файл. Может быть, вы используете старую версию скрепки?

gem list | ack paperclip
paperclip (2.3.1.1)
0
ответ дан 17 December 2019 в 04:43
поделиться

Думаю, вы могли бы попробовать «условную проверку», где условие - наличие файла?

class TestModel < ActiveRecord::Base
  #stuff
  has_attached_file :sound #etc...
  validates_attachment_content_type :sound, :content_type => ['audio/mp3', 'application/x-mp3'], :if => :sound_attached?

  def sound_attached?
    self.sound.file?
  end
end
4
ответ дан 17 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: