问题描述
这与Rails migration complains about undefined method `attachment' using paperclip
不重复因此我们使用了回形针,现在切换到活动存储,但是我们的一些旧迁移使用的是回形针中的add_attachment
,这使Rails抱怨此错误消息,因为我们在gemfile中不再使用回形针了:
undefined method 'add_attachment' for #<AddAvatarColumnsToUsers:0x00007fafa90de890>
我应该保持回形针安装还是应该移除触摸迁移?解决此问题的正确方法是什么?任何帮助都会很棒!
解决方法
paperclip add_attachment为每个附件创建四个字段,因此要解决此问题,您可以删除回形针gem,删除旧的迁移,并创建一个新的字段,删除由add_attachment添加的字段
“ add_attachment:users,:photo”在users表中创建四个字段 photo_file_name photo_content_type photo_file_size photo_uploaded_at
在删除使用remove_attachment的旧迁移之后,您可以使用以下方法创建一个新迁移:
remove_column:users,:photo_file_name remove_column:users,:photo_content_type remove_column:users,:photo_file_size remove_column:users,:photo_file_name
,通常不需要旧迁移,只要它们是架构的一部分并且已部署到所有生产实例并且数据库架构足够稳定即可。您可以安全地删除它们。