Значение по умолчанию для ActiveStorage Rails 5.2.0 - PullRequest
0 голосов
/ 10 июня 2018

Я использую Rails ActiveStorage.Я хочу, чтобы всякий раз, когда значение вложения (в моем случае изображение было нулевым, тогда замените его на «abc.png», который присутствует в папке активов ..)

Так выглядит мой файл model.rb, ноэтот код, похоже, не работает.Я ищу, как установить значение по умолчанию / ноль для аватара.

      has_one_attached :avatar #bot icon
      after_create_commit check_avatar(self)
      def check_avatar(self)
        if(!self.avatar.present?)
        {
            self.avatar = "abc.png"
        }
      end

1 Ответ

0 голосов
/ 22 июня 2018

Активное хранилище не обеспечивает опцию по умолчанию, как в paperclip, однако вы можете написать свой метод, чтобы прикрепить файл по умолчанию, если изображение равно nil.вы можете использовать метод attach для этого.

def image_nil
     if !self.image?
         user.image.attach(io: File.open('/path/to/file'), filename: 'file.pdf', content_type: 'image/jpeg')
     end
end

вы можете опустить content_type, но это хорошо, если вы предоставите тип контента, который будет использоваться в качестве запасного варианта, если анализатор не сможет этого сделать.

Надеюсь, это поможет!

...