質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

573閲覧

Railsチュートリアル13章 NameError: unitialized constant Micropost::PictureUploader

ken_asano

総合スコア8

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/05/01 08:45

railsチュートリアルの13章リスト13.59:Micropostモデルに画像を追加するを終えたあと、railsチュートリアルでは

システムによっては、ここで一旦Railsサーバーを再起動させる必要があります。再起動させたらテストスイートを走らせてみてください。 greenになるはずです。(ただし、3.6.2で説明したGuardを使っている場合は、再起動させるだけではうまく動かないかもしれません。その場合はターミナルから一旦抜けて、新しいターミナルでGuardを再実行してみてください。)

と書かれているのですが、以下のようなエラーメッセージが出てテストが通りません。

##エラーメッセージ

terminal

1ec2-user:~/environment/sample_app (user-microposts) $ rails test 2Running via Spring preloader in process 4964 3Started with run options --seed 13961 4 5ERROR["test_unsuccessful_edit", UsersEditTest, 0.010114766000015152] 6 test_unsuccessful_edit#UsersEditTest (0.01s) 7NameError: NameError: uninitialized constant Micropost::PictureUploader 8 app/models/micropost.rb:4:in `<class:Micropost>' 9 app/models/micropost.rb:1:in `<top (required)>' 10 11 FAIL["test_micropost_interface", MicropostsInterfaceTest, 1.4051834770000369] 12 test_micropost_interface#MicropostsInterfaceTest (1.41s) 13 "Micropost.count" didn't change by 0. 14 Expected: 38 15 Actual: 39 16 test/integration/microposts_interface_test.rb:13:in `block in <class:MicropostsInterfaceTest>' 17 47/47: [==============================================] 100% Time: 00:00:01, Time: 00:00:01 18 19Finished in 1.89720s 2047 tests, 296 assertions, 1 failures, 1 errors, 0 skips

##試したこと

ネットで検索すると全く同じ状況になっている人がいました。

terminal

1$spring stop 2$spring start

とし、springを再起動しましたが同じエラーを吐きました。
また、environment.rbの行末に以下のようなコードを書きました。
エラー文が多少変わりましたが、テストは通りませんでした。

app/config/environment.rb

ruby

1# Load the Rails application. 2require_relative 'application' 3# Initialize the Rails application. 4Rails.application.initialize! 5require 'carrierwave/orm/activerecord' #追加したコード

上のコードを書いたあとのエラー文

terminal

1ec2-user:~/environment/sample_app (user-microposts) $ rails test 2Running via Spring preloader in process 5071 3Started with run options --seed 29049 4 5ERROR["test_micropost_interface", MicropostsInterfaceTest, 0.009922864000145637] 6 test_micropost_interface#MicropostsInterfaceTest (0.01s) 7NameError: NameError: uninitialized constant Micropost::PictureUploader 8 app/models/micropost.rb:4:in `<class:Micropost>' 9 app/models/micropost.rb:1:in `<top (required)>' 10 11 47/47: [==============================================] 100% Time: 00:00:01, Time: 00:00:01 12 13Finished in 1.82358s 1447 tests, 296 assertions, 0 failures, 1 errors, 0 skips

rails serverの再起動も試しましたが、エラーは解決しませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この質問が参考になるかもしれません。
https://teratail.com/questions/108952

投稿2020/05/01 12:13

編集2020/05/01 12:14
motoaki

総合スコア106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ken_asano

2020/05/02 01:54

アップローダーが生成されていませんでした…。生成されていなかった原因は分かりませんでしたが解決いたしました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問