首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails: NameError: uninitialized constant文章::ImageUploader当使用Carrierwave on rails 4.1.5时

Rails: NameError: uninitialized constant文章::ImageUploader当使用Carrierwave on rails 4.1.5时
EN

Stack Overflow用户
提问于 2014-09-07 23:44:18
回答 13查看 26.7K关注 0票数 31

我正在学习rails 4.1.5

我得到了这个错误:

代码语言:javascript
复制
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>'

我的文件: article.rb

代码语言:javascript
复制
class Article < ActiveRecord::Base    
    validates_presence_of :title, :body
    belongs_to :user
    mount_uploader :image, ImageUploader
end

运行rails console时出现错误

当我在控制台上写一个单词‘文章’时,它会抛出上面的错误,但当这行mount_uploader :image, ImageUploader在文章.rb的文件中被删除时,它工作得很好。

当恢复该行时,错误再次出现。所以看起来错误是由这一行引起的,但我不确定。

任何人都可以解决这个问题,请...

感谢您的阅读和回答:-)

EN

回答 13

Stack Overflow用户

发布于 2015-01-15 17:46:53

我知道这晚了几个月,但我自己也偶然发现了这个问题。我的解决方案是粘贴

需要'carrierwave/orm/activerecord‘

放到config/environment.rb ment.rb文件中。只需将其附加到末尾。

我的环境: Ruby 2.1.2p95;Rails 4.1.7;Carrierwave-0.10.0

票数 71
EN

Stack Overflow用户

发布于 2015-09-05 12:20:28

我把这个添加到了application.rb

代码语言:javascript
复制
require 'carrierwave'
require 'carrierwave/orm/activerecord'

Rails 4.2.0、Ruby 2.2.2、Carrierwave 0.10.0

票数 31
EN

Stack Overflow用户

发布于 2017-03-18 02:56:49

我把它放在这里,以防万一..

如果您使用的是spring gem,那么您必须通过更改config/application.rb或关闭并打开终端来“重新启动”它,或者:$ bin/spring stop

您可以在此处检查它的进程生存期(向右滚动):

代码语言:javascript
复制
$ 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

如果需要就杀了它。

更多信息请访问:https://github.com/rails/spring

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25712027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档