Estoy tratando de instalar paperclip gem en mi aplicación de rieles y tuve 3 problemas seguidos y me gustaría señalarles que puede estar relacionado con el último problema:
1- No pude instalar la dependencia del clip "mimemagic" => Lo resolví agregando el archivo freedesktop.org.xml.in y su variable FREEDESKTOP_MIME_TYPES_PATH a mi máquina con Windows.
2 - Luego, después de inicializar el clip, no pude hacer la migración => Lo resolví agregando la versión de mi aplicación de rieles que es [6.1] bessid el registro activo para que se convierta en class AddAttachmentImageToPics < ActiveRecord::Migration[6.1] .
3- El último problema en el que estoy atascado es cuando rails db:migrate me sale este mensaje que dice:
ArgumentError: wrong number of arguments (given 3, expected 2)Este es el contenido de mi archivo de migración:
class AddAttachmentImageToPics < ActiveRecord::Migration[6.1] def self.up change_table :pics do |t| t.attachment :image end end def self.down remove_attachment :pics, :image end endel mensaje en cmd:
C:\Users\Admin\Desktop\Ruby\instagrameme>rails db:migrate == 20220205102326 AddAttachmentImageToPics: migrating ========================= -- change_table(:pics) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: wrong number of arguments (given 3, expected 2) C:/Users/Admin/Desktop/Ruby/instagrameme/db/migrate/20220205102326_add_attachment_image_to_pics.rb:4:in `block in up' C:/Users/Admin/Desktop/Ruby/instagrameme/db/migrate/20220205102326_add_attachment_image_to_pics.rb:3:in `up' Caused by: ArgumentError: wrong number of arguments (given 3, expected 2) C:/Users/Admin/Desktop/Ruby/instagrameme/db/migrate/20220205102326_add_attachment_image_to_pics.rb:4:in `block in up' C:/Users/Admin/Desktop/Ruby/instagrameme/db/migrate/20220205102326_add_attachment_image_to_pics.rb:3:in `up' Tasks: TOP => db:migrate (See full trace by running task with --trace)Creo que esta es la causa principal de tu problema. El método de column utilizado tomó 3 argumentos en Rails 5 , pero el tercer argumento se cambió a un argumento de palabra clave en Rails 6 . Este es un problema para ruby >= 2.7 porque eliminaron la conversión automática de un hash a argumentos de palabras clave.
Probablemente necesite un clip de bifurcación o parche de mono para solucionar este problema.
@santiago Soy un novato total y parece que tengo el mismo problema, aunque estoy en una mac. ¿Alguna ayuda que pueda proporcionar sobre cómo hacer un tenedor o un clip de parche de mono?
-Kevin