Did*_*adi 29 carrierwave ruby-on-rails-4
我正在学习rails 4.1.5
我收到了这个错误:
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>'
Run Code Online (Sandbox Code Playgroud)
我的档案:article.rb
class Article < ActiveRecord::Base
validates_presence_of :title, :body
belongs_to :user
mount_uploader :image, ImageUploader
end
Run Code Online (Sandbox Code Playgroud)
我跑步时遇到错误 rails console
当我在控制台上写一个单词' Article '时,它会引发上面的错误,但是当mount_uploader :image, ImageUploaderarticle.rb文件中的这一行被删除时它工作正常.
当该行恢复时,错误再次出现.所以似乎错误是由那条线引起的,但我不确定.
有人可以解决这个问题,请...
谢谢你的阅读和回答:-)
小智 70
我知道这已经晚了几个月但我自己偶然发现了这个问题.我的解决方案是粘贴
需要'carrierwave/orm/activerecord'
进入config/environment.rb文件.只需将其附加到最后.
我的环境:Ruby 2.1.2p95; Rails 4.1.7; Carrierwave-0.10.0
PGi*_*ill 31
我添加了这个 application.rb
require 'carrierwave'
require 'carrierwave/orm/activerecord'
Run Code Online (Sandbox Code Playgroud)
Rails 4.2.0,Ruby 2.2.2,Carrierwave 0.10.0
ale*_*cat 25
我把它放在这里,以防万一..
如果您使用的是springgem,则必须通过更改config/application.rb或关闭并打开终端来"重启"它,或者:$ bin/spring stop
您可以在此处检查其进程生命周期(向右滚动):
$ 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
Run Code Online (Sandbox Code Playgroud)
如果需要可以杀死它.
更多信息请访问:https://github.com/rails/spring
小智 10
你在用春天吗?
我有两个终端窗口,一个用于服务器,另一个用于控制台.
我之后重新启动我的服务器,然后再次进入控制台,错误消失.
我没有在application.rb中添加任何行
Rails 4.2.4,Ruby 2.3.0,Carrierwave 0.10.0 a2c93fe
我假设您正在使用 CarrierWave gem 进行文件上传。您检查过它是否安装正确吗?您可以发出命令来检查:
bundle show carrierwave
Run Code Online (Sandbox Code Playgroud)
就我而言,我已将捆绑包安装在运行 Rails 控制台的不同终端上。哈!
| 归档时间: |
|
| 查看次数: |
23949 次 |
| 最近记录: |