tutorial multiple files aws ruby-on-rails-4 carrierwave

ruby on rails 4 - multiple - NameError: constante no inicializada Artículo:: ImageUploader cuando se usa Carrierwave on rails 4.1.5



carrierwave wiki (12)

¿Estás usando primavera?

Tengo dos ventanas de terminal, una para el servidor y la otra para la consola.

Después de reiniciar mi servidor e ingresar consola nuevamente , el error desapareció.

Y no agregué ninguna línea en la aplicación.rb

Rails 4.2.4, Ruby 2.3.0, Carrierwave 0.10.0 a2c93fe

Estoy aprendiendo los carriles 4.1.5

Tengo este error:

2.1.1 :008 > Article NameError: uninitialized constant Article::ImageUploader from /Volumes/disk0s4/www/rails/blog/app/models/article.rb:4:in `<class:Article>'' from /Volumes/disk0s4/www/rails/blog/app/models/article.rb:1:in `<top (required)>'' from (irb):8 from /Users/didin/.rvm/gems/ruby-2.1.1/gems/railties-4.1.5/lib/rails/commands/console.rb:90:in `start'' from /Users/didin/.rvm/gems/ruby-2.1.1/gems/railties-4.1.5/lib/rails/commands/console.rb:9:in `start'' from /Users/didin/.rvm/gems/ruby-2.1.1/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:69:in `console'' from /Users/didin/.rvm/gems/ruby-2.1.1/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:40:in `run_command!'' from /Users/didin/.rvm/gems/ruby-2.1.1/gems/railties-4.1.5/lib/rails/commands.rb:17:in `<top (required)>'' from /Volumes/disk0s4/www/rails/blog/bin/rails:8:in `<top (required)>'' from /Users/didin/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'' from /Users/didin/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'' from -e:1:in `<main>''

mi archivo: article.rb

class Article < ActiveRecord::Base validates_presence_of :title, :body belongs_to :user mount_uploader :image, ImageUploader end

Recibí un error al ejecutar la rails console

cuando escribo una palabra '' Artículo '' en la consola, provoca el error anterior, pero funciona bien cuando esta línea mount_uploader :image, ImageUploader en el archivo de mount_uploader :image, ImageUploader elimina.

cuando esa línea se restablece, el error viene de nuevo. así que parece que el error es causado por esa línea, pero no estoy seguro.

cualquiera puede arreglar esto, por favor ...

gracias por leer y responder :-)


Añadí esto a application.rb

require ''carrierwave'' require ''carrierwave/orm/activerecord''

Rails 4.2.0, Ruby 2.2.2, Carrierwave 0.10.0


En mi caso, olvidé ejecutar la rails g uploader image . Una vez hecho, funciona bien.


Estaba recibiendo este error y luego funcionó después de reiniciar el servidor.


Lo pondré aquí, por si acaso ...

SI está utilizando la gema de spring , tiene que "reiniciarla" cambiando config/application.rb o cerrar y abrir la terminal, o: $ bin/spring stop

Puede inspeccionar la vida útil de sus procesos aquí (desplazarse a la derecha):

$ ps aux | grep spring alexey 55936 0.0 0.9 2645908 78440 ?? Ss Thu06PM 0:13.17 spring app | myapp | started 26 hours ago | development mode alexey 81963 0.0 0.0 2481764 1608 ?? S Sat11PM 0:01.91 spring server | myapp | started 141 hours ago

Y matarlo si es necesario.

Más información en: https://github.com/rails/spring


Otro consejo: abre el archivo que acaba de generar. Asegúrese de que el nombre de la clase de carga coincida con el nombre de la clase que agregó en su modelo.


Sé que esto es unos meses más tarde, pero me encontré con este problema yo mismo. Mi solución fue pegar

requiere ''carrierwave / orm / activerecord''

en el archivo config / environment.rb. Solo agrégalo al final.

My Env: Ruby 2.1.2p95; Rieles 4.1.7; Carrierwave-0.10.0


Salga y comience su consola de nuevo. En este caso, ¡solo vuelve a cargar! no resolverá


Si aparece un error en las especificaciones de la aplicación Rails, es posible que falte

require ''rails_helper''

en la cima :)


Si todo lo demás falla, actualice la gema carrierwave a su última versión (modificando su Gemfile y eliminando cualquier número de versión específico relacionado con él y luego $ bundle install )


Supongo que está utilizando la gema de CarrierWave para subir archivos. ¿Has comprobado que se haya instalado correctamente? Puede emitir el comando para verificar:

bundle show carrierwave

En mi caso, he paquete instalado en una terminal diferente donde ejecuté la consola de rieles. HTH!


intente esto en el nombre del módulo correcto de appliccation.rb este arreglo el mismo problema para mí

module CorrectName #OldName <--------------- # Do not swallow errors in after_commit/after_rollback callbacks. config.active_record.raise_in_transactional_callbacks = true end end