首页 > 解决方案 > 回形针附件迁移不起作用

问题描述

我添加了“回形针”gem,将其捆绑,生成迁移文件如下

class AddAvatarColumnsToUsers < ActiveRecord::Migration[6.0]
  def up
    add_attachment :users, :avatar
  end

  def down
    remove_attachment :users, :avatar
  end
end

当我运行 rake db:migrate 时,出现以下错误

    Wrong number of arguments (given 3, expected 2)

红宝石:3.0.0

导轨:6.0.3.6

标签: ruby-on-rails

解决方案


回形针已被弃用,目前没有人维护它。在较新版本的 ruby​​ 即 3.0.0 中,附件方法的执行方式不同。迁移到 3.0.0 时,我遇到了很多问题。因此,我建议您明确添加四列,如下所示

  class AddAvatarColumnsToUsers < ActiveRecord::Migration[6.1]
    def up
       add_column :users, :avatar_file_name, :string
       add_column :users, :avatar_file_size, :integer
       add_column :users, :avatar_content_type, :string
       add_column :users, :avatar_updated_at, :datetime
    end

    def down
       remove_column :users, :avatar_file_name, :string
       remove_column :users, :avatar_file_size, :integer
       remove_column :users, :avatar_content_type, :string
       remove_column :users, :avatar_updated_at, :datetime
    end
  end

推荐阅读