私は学習しています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>'
私のファイル:article.rb
class Article < ActiveRecord::Base
validates_presence_of :title, :body
belongs_to :user
mount_uploader :image, ImageUploader
end
Rails console
の実行中にエラーが発生しました
コンソールでWord 'Article'を記述すると、上記のエラーが発生しますが、article.rbのファイルのmount_uploader :image, ImageUploader
行が削除されると正常に動作します。
その行が復元されると、エラーが再び発生します。そのため、エラーはその行が原因のようですが、私にはわかりません。
誰でもこれを修正できます...
読んで答えてくれてありがとう:-)
私はこれが数ヶ月遅れていることを知っていますが、私は自分でこの問題に出くわしました。私の解決策は貼り付けることでした
「carrierwave/orm/activerecord」が必要
config/environment.rbファイルに。最後に追加してください。
私の環境:Ruby 2.1.2p95; Rails 4.1.7; Carrierwave-0.10.0
これをapplication.rb
に追加しました
require 'carrierwave'
require 'carrierwave/orm/activerecord'
Rails 4.2.0、Ruby 2.2.2、Carrierwave 0.10.0
念のためにここに置いておきます。
spring
gemを使用している場合は、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
必要に応じてそれを殺します。
あなたは春を使用していますか?
サーバー用とコンソール用の2つのターミナルウィンドウがありました。
サーバーを再起動してコンソールを再入力してくださいの後、エラーは消えました。
そして、application.rbに行を追加しませんでした
Rails 4.2.4、Ruby 2.3.0、Carrierwave 0.10.0 a2c93fe
ファイルのアップロードにCarrierWave gemを使用していると仮定しています。正しくインストールされたことを確認しましたか?以下を確認するコマンドを発行できます。
bundle show carrierwave
私の場合、Rails console。HTH!
別のヒントとして、生成されたばかりのアップロード済みファイルを開きます。アップローダークラスの名前が、モデルに追加したクラスの名前と一致することを確認します。
Railsアプリの仕様のみにエラーが表示された場合、あなたは行方不明になっている可能性があります
require 'Rails_helper'
頂点で :)
終了して、コンソールを再度起動します。この場合、リロードするだけです!解決しません。
私にとっては、以下の宝石を両方ともアンインストールしました
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
appliccation.rbでこれを試してください正しいモジュール名これは私にとって同じ問題を修正します
module CorrectName #OldName <---------------
# Do not swallow errors in after_commit/after_rollback callbacks.
config.active_record.raise_in_transactional_callbacks = true
end
end
私の場合、Rails g uploader image
。完了したら、正常に動作します。
このエラーが発生していましたが、サーバーを再起動すると機能しました。