微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rails:回形针 gem 的迁移问题

如何解决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,迁移正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。