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

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

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

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

Q&A

1回答

2380閲覧

heroku上での 会員登録時に起こる NoMethodError (undefined method `encrypted_password=' for #<User:〜>の解決法。

koh4168

総合スコア11

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

1グッド

0クリップ

投稿2020/02/01 12:50

編集2020/02/02 07:26

プログラミング初心者です。
rails で作成したアプリをheroku上にアップロードしようとしています。

アプリを表示させることはできましたが、heroku 上で会員登録をしようとすると
**"We're sorry, but something went wrong."**と表示されてしまいます。
DBにもuser情報は登録されていません。
会員登録にはdeviseを使用しています。

herokuのlogを調べたところ下記のようになりました。

terminal

1 $ heroku logs -t 22020-02-01T11:41:14.665551+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=musikerrrr.herokuapp.com request_id=1d3a3dca-9f88-45fe-aa2f-ed5a1ca95fcf fwd="126.247.78.42" dyno=web.1 connect=1ms service=4ms status=304 bytes=48 protocol=https 32020-02-01T11:41:15.051775+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Started GET "/users/sign_up" for 126.247.78.42 at 2020-02-01 11:41:15 +0000 42020-02-01T11:41:15.053269+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Processing by Devise::RegistrationsController#new as HTML 52020-02-01T11:41:15.056118+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Rendering devise/registrations/new.html.erb within layouts/application 62020-02-01T11:41:15.057256+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Rendered devise/shared/_error_messages.html.erb (0.1ms) 72020-02-01T11:41:15.062530+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Rendered devise/shared/_links.html.erb (0.7ms) 82020-02-01T11:41:15.062737+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Rendered devise/registrations/new.html.erb within layouts/application (6.5ms) 92020-02-01T11:41:15.065178+00:00 app[web.1]: [60c3ef12-c3c7-4c29-ae8a-42436919e542] Completed 200 OK in 12ms (Views: 9.8ms) 102020-02-01T11:41:15.069912+00:00 heroku[router]: at=info method=GET path="/users/sign_up" host=musikerrrr.herokuapp.com request_id=60c3ef12-c3c7-4c29-ae8a-42436919e542 fwd="126.247.78.42" dyno=web.1 connect=1ms service=24ms status=200 bytes=5857 protocol=https 112020-02-01T11:41:42.078055+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] Started POST "/users" for 126.247.78.42 at 2020-02-01 11:41:42 +0000 122020-02-01T11:41:42.079428+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] Processing by Devise::RegistrationsController#create as HTML 132020-02-01T11:41:42.079626+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] Parameters: {"utf8"=>"✓", "authenticity_token"=>"CEaqKZx6BKiihr69T00pQhxVGEM9YZ30wwhtMnkElkKba2uP/hjR4Jfr/BG6DSj7UPzaO2UTUWEJPNi0Gni3Ng==", "user"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x00005643fb60e8d0 @tempfile=#<Tempfile:/tmp/RackMultipart20200201-4-asyqdl.jpg>, @original_filename="1FzED3tiQqSPjdW5Th%gdg.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[image]\"; filename=\"1FzED3tiQqSPjdW5Th%gdg.jpg\"\r\nContent-Type: image/jpeg\r\n">, "name"=>"ここ", "email"=>"kounosuke41680716@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"新規登録 "} 142020-02-01T11:41:42.276142+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] Completed 500 Internal Server Error in 196ms 152020-02-01T11:41:42.277166+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] 162020-02-01T11:41:42.277365+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa] NoMethodError (undefined method `encrypted_password=' for #<User:0x00005643fb5e3040> 172020-02-01T11:41:42.277367+00:00 app[web.1]: Did you mean? encrypted_password= 182020-02-01T11:41:42.277368+00:00 app[web.1]: encrypted_password 192020-02-01T11:41:42.277370+00:00 app[web.1]: encrypted_password? 202020-02-01T11:41:42.277371+00:00 app[web.1]: encrypted_password_was): 212020-02-01T11:41:42.277375+00:00 app[web.1]: [df0126ea-4aa0-4043-847c-7a5df0607baa]

恐らく、下から6行目のNoMethodError (undefined method `encrypted_password=' for #User:0x00005643fb5e3040
2
がエラーの原因になっていると考えているのですが、対処の仕方がいまいちわかりません。
拙い説明で申し訳ありませんがご教授願います。

追記
何度かheroku run rails db:migrateも行なっているのですが、同じエラーが出てしまっています。
heroku run rails db:migrateの結果です

$ heroku run rails db:migrate Running rails db:migrate on ⬢ musikerrrr... up, run.6877 (Free) (2.9ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 (2.8ms) SELECT GET_LOCK('7725311714205846180', 0) (2.9ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC ActiveRecord::InternalMetadata Load (3.5ms) SELECT `ar_internal_metadata`.* FROM `ar_internal_metadata` WHERE `ar_internal_metadata`.`key` = 'environment' LIMIT 1 (2.7ms) BEGIN (2.8ms) COMMIT (2.8ms) SELECT RELEASE_LOCK('7725311714205846180')

追記2
回答者様がくれた情報を参考に、config/environments/production.rb内の

config.eager_load:trueを

config.eager_load:false

に変更し、
heroku logs で確認したところ、エラー内容が変わっており下記のように表示されました.

2020-02-02T06:55:20.809611+00:00 heroku[router]: at=info method=POST path="/users" host=musikerrrr.herokuapp.com request_id=2e608ee8-aafe-45fb-88f6-8448d598ed13 fwd="126.247.78.42" dyno=web.1 connect=0ms service=15036ms status=500 bytes=1827 protocol=https 2020-02-02T06:55:21.162873+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=musikerrrr.herokuapp.com request_id=c90f320a-d2e4-4d83-9404-2c5288001cb4 fwd="126.247.78.42" dyno=web.1 connect=0ms service=5ms status=200 bytes=143 protocol=https 2020-02-02T06:55:32.832128+00:00 heroku[router]: at=info method=GET path="/" host=musikerrrr.herokuapp.com request_id=8593ccc0-a78c-472c-bf52-a1e611eda003 fwd="126.247.78.42" dyno=web.1 connect=0ms service=29ms status=200 bytes=4773 protocol=https 2020-02-02T06:55:32.810160+00:00 app[web.1]: [8593ccc0-a78c-472c-bf52-a1e611eda003] Started GET "/" for 126.247.78.42 at 2020-02-02 06:55:32 +0000 2020-02-02T06:55:32.813597+00:00 app[web.1]: [8593ccc0-a78c-472c-bf52-a1e611eda003] Processing by TopController#index as HTML 2020-02-02T06:55:32.823296+00:00 app[web.1]: [8593ccc0-a78c-472c-bf52-a1e611eda003] Rendering top/index.html.erb within layouts/application 2020-02-02T06:55:32.825494+00:00 app[web.1]: [8593ccc0-a78c-472c-bf52-a1e611eda003] Rendered top/index.html.erb within layouts/application (2.0ms) 2020-02-02T06:55:32.829620+00:00 app[web.1]: [8593ccc0-a78c-472c-bf52-a1e611eda003] Completed 200 OK in 16ms (Views: 14.0ms | ActiveRecord: 0.0ms) 2020-02-02T06:55:33.158860+00:00 heroku[router]: at=info method=GET path="/assets/c7d0b216253729f0dad7ca403c6ab494_m.jpg" host=musikerrrr.herokuapp.com request_id=f141922d-27c0-4147-b092-fa3911319288 fwd="126.247.78.42" dyno=web.1 connect=0ms service=6ms status=404 bytes=1902 protocol=https 2020-02-02T06:55:33.156117+00:00 app[web.1]: [f141922d-27c0-4147-b092-fa3911319288] Started GET "/assets/c7d0b216253729f0dad7ca403c6ab494_m.jpg" for 126.247.78.42 at 2020-02-02 06:55:33 +0000 2020-02-02T06:55:33.156988+00:00 app[web.1]: [f141922d-27c0-4147-b092-fa3911319288] 2020-02-02T06:55:33.157044+00:00 app[web.1]: [f141922d-27c0-4147-b092-fa3911319288] ActionController::RoutingError (No route matches [GET] "/assets/c7d0b216253729f0dad7ca403c6ab494_m.jpg"):

エラー内容のActionController::RoutingError (No route matches [GET] "/assets/c7d0b216253729f0dad7ca403c6ab494_m.jpg”):について調べたところ
config.eager_load:falseが原因であるとのことだったため、config.eager_load:trueに戻しました。
RubyGem「heroku/rails_12factor」はすでにgemfileに追加してあります。

その後、再度会員登録をしたところ、heroku上の画面は"We're sorry, but something went wrong.”のままでした。heroku logs 上のエラーの表記は無くなりました。

どうぞよろしくお願いします。

退会済みユーザー👍を押しています

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

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

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

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

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

bamboo-nova

2020/02/01 12:53

heroku run rails db:migrateは実行済みでしょうか?
guest

回答1

0

[ruby2.5.0/rails5.1.6] productionモードで動かない不具合を修正

によるとすでに過去の質問で解決してるようです

railsのproduction環境でのエラー - teratail.com

試しましたか?

投稿2020/02/02 02:47

編集2020/02/02 02:48
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

koh4168

2020/02/02 07:16

情報ありがとうございます! 早速試してみたのですが、今度はconfig.serve_static_files = false にしたことによるエラーが出てしまいました、、、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問