我有一个帖子表,我想添加一个视频附件(我正在使用ActiveStorage)。
我尝试创建以下迁移:
class AddVideoToPosts < ActiveRecord::Migration[7.0]
def change
add_column :posts, :video, :attachment
end
end
但是当我运行rails db:migrate
时,我得到了以下错误:
ERROR: type "attachment" does not exist
如果这是一个简单的修复,请原谅我。我是Rails的新手。谢谢!
1条答案
按热度按时间sqyvllje1#
对于某些特定的模型附件,您不需要进行任何迁移
只需将此行添加到模型中
或
就这样
当然,只有在设置了活动存储并具有活动存储表的情况下,它才会起作用
如果您没有这样的表-添加它们
这将设置配置,并创建Active Storage使用的三个表:
active_storage_blobs
存储有关上载文件的数据,如文件名和内容类型active_storage_attachments
,一个多态连接表,用于将模型连接到blob。如果模型的类名发生更改,则需要对此表运行迁移,以将基础record_type更新为模型的新类名active_storage_variant_records
(如果启用了变量跟踪)存储已生成的每个变量的记录详情请参见official guide