Rails 应用中的文件管理与表单构建优化
1. 文件名管理与图片展示
在 Rails 应用里,文件名管理是重要的一环。以下是相关代码示例:
# File.join 是跨平台连接目录的方式;
# 我们本可以写成 "#{RAILS_ROOT}/public/photo_store"
PHOTO_STORE = File.join RAILS_ROOT, 'public', 'photo_store'
# 确定图片文件的写入位置
def photo_filename
File.join PHOTO_STORE, "#{id}.#{extension}"
end
# 返回一个可在 HTML 中使用的图片路径
def photo_path
"/photo_store/#{id}.#{extension}"
end
PHOTO_STORE 为应用提供了指向 Rails 应用公共目录的路径,静态文件可存于此。 photo_filename 方法会在 store_photo 需要知道图片文件在主机文件系统中的实际存储位置时被调用。这里使用记录的 id 作为图片文件名,避免了文件名冲突。
photo_path 方法则负责处理视图中显示图片所需的文件名管理,它关注的是图片在 Rails 应用中作为 URL 的显示位置。
为了处理可能没有图片的情况,模型中包含了 has_photo? 方法: </
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



