Добавление изображения в базу данных seed в rails 5.2 active storage - PullRequest
0 голосов
/ 29 августа 2018

Просто пытаюсь добавить изображение в мой начальный файл. Возникла небольшая проблема при попытке добавления с использованием нового активного хранилища в Rails 5.2

Может кто-нибудь заметить, что происходит. Вот код, за которым следует ошибка в БД. Благодарю.

25.times do
temp = Post.create([{
    title: Faker::Book.unique.title,
    content: Faker::Lorem.paragraphs(rand(100..200)).join('\n'),
    category_id: rand(1..5),
    user_id: 1,
    status: 1,
    recommended: [true, false].sample,
    excerpt: Faker::Lorem.paragraph(10) 
        }])
  puts Post.first.featured_image
  temp.first.featured_image.attach(io: File.open('/Users/bradley/'), filename: 'Dart.png', content_type: 'image/png')

конец

Ошибка:

#<ActiveStorage::Attached::One:0x00007fb672434448>
rake aborted!
Errno::EISDIR: Is a directory @ io_fread - /Users/bradley/

1 Ответ

0 голосов
/ 29 августа 2018

Вы передаете каталог, а не файл в этом коде:

File.open('/Users/bradley/')

Если путь к изображению: /Users/bradley/Dart.png. Затем вам нужно изменить код:

File.open('/Users/bradley/Dart.png')

Однако я бы не рекомендовал использовать абсолютные пути в вашем проекте, даже если бы он был только для семян. Вы можете добавить изображение в ваш проект rails и использовать относительный путь к вашему проекту.

...