プログラミング初心者です。
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 上のエラーの表記は無くなりました。
どうぞよろしくお願いします。