You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在seeds.rb中添加图片路径?Rails项目种子文件图片路径配置问题

正确配置seeds.rb中Course图片路径的两种方案

方案1:写死静态路径(仅适用于未开启资产指纹的场景)

assets/images目录下的静态资源默认访问根路径为/assets/,你存放在assets/images/courses下的图片,直接补全路径前缀即可:

Course.create!(
    name: "Art",
    description: "In this beginner's art class learners will meet to create nature inspired artwork!
                Perfect class for Pre-Kindergarten, Kindergarten, 1st grade & 2nd grade artists
                (UK: Reception, Year 1, Year 2, Year 3)- with science & a touch of geography.",
    tags: "#art #image #kids",
    ages: "4 - 13",
    minsize: 4,
    maxsize: 7,
    duration: 45,
    price: 10,
    image_url: "/assets/courses/art1.jpg",
    )

注意:该方案仅适合关闭了Rails资产管道指纹功能的项目,默认生产环境开启指纹后,写死的路径会因为文件后缀带哈希值而404。


方案2:适配资产指纹(推荐,适配所有Rails默认配置场景)

你可以直接在seeds.rb中调用Rails内置的资产路径帮助器,自动生成适配开发/生产环境的正确路径:

  1. 首先在seeds.rb文件顶部引入资产帮助器:
include ActionView::Helpers::AssetUrlHelper
  1. 调用asset_path方法生成对应图片的路径:
Course.create!(
    name: "Art",
    description: "In this beginner's art class learners will meet to create nature inspired artwork!
                Perfect class for Pre-Kindergarten, Kindergarten, 1st grade & 2nd grade artists
                (UK: Reception, Year 1, Year 2, Year 3)- with science & a touch of geography.",
    tags: "#art #image #kids",
    ages: "4 - 13",
    minsize: 4,
    maxsize: 7,
    duration: 45,
    price: 10,
    image_url: asset_path("courses/art1.jpg"),
    )

该方案会自动处理路径前缀、生产环境资产哈希后缀,无需手动修改适配不同环境。


内容的提问来源于stack exchange,提问作者Дмитро Горецький

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:15:02