首页 文章

将图像添加到rails 5.2活动存储中的种子数据库

提问于
浏览
0

只是尝试将图像添加到我的种子文件中 . 尝试使用Rails 5.2中的新活动存储添加时遇到一些问题

谁能发现正在发生的事情 . 这是db中后面跟着错误的代码 . 谢谢 .

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 回答

  • 1

    您在此代码中传递的目录不是文件:

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

    如果您的图片路径是: /Users/bradley/Dart.png . 然后你需要改变你的代码:

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

    但是我不建议在项目中使用绝对路径,即使它只用于种子 . 您可以将图像添加到rails项目并使用项目的相对路径 .

相关问题