[英]how to add image path in seeds.rb?
我需要在我的seeds.rb 中添加一个图像路径。 我所有的图像都在资产/图像/课程中我不明白如何在seeds.rb 中正确地将图像路径添加到我的课程中
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: "images/courses/art1.jpg",
)
如果您只需要保存该图像的相对路径以稍后在您的视图中呈现它,您可以使用image_path
方法从 rails assets 文件夹中提取该图像
seed.rb 不会自动加载这些帮助程序,因此您需要像这样从 ActionController::Base 类中引用它以使其工作:
ActionController::Base.helpers.image_path('courses/art1.jpg')
所以在你的例子中,你需要这样写:
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: ActionController::Base.helpers.image_path('courses/art1.jpg')
)
如果您在某个时候更改课程模型以支持图像上传,那么您会发现拥有文件的实际 FilePath 很方便,因此您可以将其用作种子代码中的文件:
Rails.root.join('app', 'assets', 'images', 'pic1.jpg')
Rails.root
将返回一个带有 Rails 项目绝对路径的路径名。 join
方法可以接受任意数量的参数,并将它们附加到路径名以创建新路径。
具有路径名对于文件方法和图像上传实现很有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.