rails:回形针 gem 的迁移问题

问题描述

我正在尝试迁移 rails 应用程序,但失败了。回形针 gem 迁移中的问题。

我尝试使用两种方式进行迁移,但都无法正常工作:

class AddAttachmentimageToItems < ActiveRecord::Migration[6.1]
  def self.up
    add_attachment :items,:image
  end

  def self.down
    remove_attachment :items,:image
  end
end

也尝试过:

class AddAttachmentimageToItems < ActiveRecord::Migration[6.1]
  def change
    add_attachment :items,:image
  end
end

运行 rails db:migrate显示错误

/Users/zi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/pry-byebug-3.8.0/lib/pry-byebug/control_d_handler.rb:5: warning: control_d_handler's arity of 2 parameters was deprecated (eval_string,pry_instance). Now it gets passed just 1 parameter (pry_instance)
== 20210713231704 AddAttachmentimageToItems: migrating ========================
-- add_attachment(:items,:image)
rails aborted!
StandardError: An error has occurred,this and all later migrations canceled:

wrong number of arguments (given 4,expected 3)
/Users/zi/rails/stage_1/db/migrate/20210713231704_add_attachment_image_to_items.rb:3:in `up'
/Users/zi/rails/stage_1/bin/rails:5:in `<top (required)>'
/Users/zi/rails/stage_1/bin/spring:10:in `block in <top (required)>'
/Users/zi/rails/stage_1/bin/spring:7:in `<top (required)>'

Caused by:
ArgumentError: wrong number of arguments (given 4,expected 3)
/Users/zi/rails/stage_1/db/migrate/20210713231704_add_attachment_image_to_items.rb:3:in `up'
/Users/zi/rails/stage_1/bin/rails:5:in `<top (required)>'
/Users/zi/rails/stage_1/bin/spring:10:in `block in <top (required)>'
/Users/zi/rails/stage_1/bin/spring:7:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

解决方法

发现ruby版本问题,降级到2.6.8,迁移正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...