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

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

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

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

Heroku

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

2782閲覧

herokuでNoMethodError (undefined method `encrypted_password=' for #<User:0x00000003d79b48>)

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails 5

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

Heroku

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/12/30 18:56

編集2017/12/31 02:02

いつもお世話になっております。

Rails5でdeviseを使ったアプリケーションを作っているのですが、
ローカルで問題なく動作するものがHerokuにあげるとエラーになってしまいます。

新規登録の場面で送信ボタンを押すと、以下のエラーが出てcreateができません。

NoMethodError (undefined method `encrypted_password=' for #<User:0x00000003d79b48>)

試したことは、
heroku run --app app_name rails db:migrate:reset RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1

User.new.respond_to?(:encrypted_password=) #=>true
です。

初歩的な質問で申し訳ないですが、ご教授いただければと思います。
どうぞよろしくお願い致します。

【追記】

ソースコードを追記いたします。
アプリの動作としては、短い文章を投稿したり、それらを閲覧したりお気に入りにしたりすることができます。

また、問題部分のencrypted_passwordというカラムはdeviseによって作られたものです。

ruby

1#schema.rb 2ActiveRecord::Schema.define(version: 20171230191810) do 3 4 create_table "favorites", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| 5 t.integer "user_id", null: false 6 t.integer "messages_id", null: false 7 t.datetime "created_at", null: false 8 t.datetime "updated_at", null: false 9 t.index ["messages_id"], name: "index_favorites_on_messages_id", using: :btree 10 t.index ["user_id"], name: "index_favorites_on_user_id", using: :btree 11 end 12 13 create_table "messages", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| 14 t.integer "user_id" 15 t.string "contents" 16 t.datetime "created_at", null: false 17 t.datetime "updated_at", null: false 18 end 19 20 create_table "users", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| 21 t.string "email", default: "", null: false 22 t.string "encrypted_password", default: "", null: false 23 t.string "reset_password_token" 24 t.datetime "reset_password_sent_at" 25 t.datetime "remember_created_at" 26 t.integer "sign_in_count", default: 0, null: false 27 t.datetime "current_sign_in_at" 28 t.datetime "last_sign_in_at" 29 t.string "current_sign_in_ip" 30 t.string "last_sign_in_ip" 31 t.datetime "created_at", null: false 32 t.datetime "updated_at", null: false 33 t.index ["email"], name: "index_users_on_email", unique: true, using: :btree 34 t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree 35 end 36 37end

html

1registrations/new.html.erb 2<h2>ユーザー登録</h2> 3 4<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 5 <%= devise_error_messages! %> 6 7 <div class="field"> 8 <%= f.label :email %><br /> 9 <%= f.email_field :email, autofocus: true %> 10 </div> 11 12 <div class="field"> 13 <%= f.label :password %> 14 <% if @minimum_password_length %> 15 <em>(<%= @minimum_password_length %> 文字以上)</em> 16 <% end %><br /> 17 <%= f.password_field :password, autocomplete: "off" %> 18 </div> 19 20 <div class="field"> 21 <%= f.label :password_confirmation %><br /> 22 <%= f.password_field :password_confirmation, autocomplete: "off" %> 23 </div> 24 25 <div class="actions"> 26 <%= f.submit "登録", class: "btn btn-primary" %> 27 </div> 28<% end %> 29 30<%= render "devise/shared/links" %> 31
#heroku log Started GET "/users/sign_up" for 111.103.247.179 at 2017-12-30 19:08:50 +0000 2017-12-30T19:08:50.007807+00:00 app[web.1]: I, [2017-12-30T19:08:50.007724 #4] INFO -- : [28062bb8-c058-433c-bcd9-2f3f04481c51] Processing by Devise::RegistrationsController#new as HTML 2017-12-30T19:08:50.031259+00:00 app[web.1]: I, [2017-12-30T19:08:50.031034 #4] INFO -- : [28062bb8-c058-433c-bcd9-2f3f04481c51] Rendering devise/registrations/new.html.erb within layouts/application 2017-12-30T19:08:50.057356+00:00 app[web.1]: I, [2017-12-30T19:08:50.057109 #4] INFO -- : [28062bb8-c058-433c-bcd9-2f3f04481c51] Rendered devise/shared/_links.html.erb (23.3ms) 2017-12-30T19:08:50.057393+00:00 app[web.1]: I, [2017-12-30T19:08:50.057315 #4] INFO -- : [28062bb8-c058-433c-bcd9-2f3f04481c51] Rendered devise/registrations/new.html.erb within layouts/application (26.1ms) 2017-12-30T19:08:50.067819+00:00 app[web.1]: I, [2017-12-30T19:08:50.067699 #4] INFO -- : [28062bb8-c058-433c-bcd9-2f3f04481c51] Completed 200 OK in 60ms (Views: 58.2ms | ActiveRecord: 0.0ms) 2017-12-30T19:08:50.069436+00:00 heroku[router]: at=info method=GET path="/users/sign_up" host=my_app.herokuapp.com request_id=28062bb8-c058-433c-bcd9-2f3f04481c51 fwd="111.103.247.179" dyno=web.1 connect=0ms service=77ms status=200 bytes=3720 protocol=https 2017-12-30T19:09:01.105846+00:00 app[web.1]: I, [2017-12-30T19:09:01.105737 #4] INFO -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] Started POST "/users" for 111.103.247.179 at 2017-12-30 19:09:01 +0000 2017-12-30T19:09:01.108230+00:00 app[web.1]: I, [2017-12-30T19:09:01.108149 #4] INFO -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] Processing by Devise::RegistrationsController#create as HTML 2017-12-30T19:09:01.114916+00:00 app[web.1]: I, [2017-12-30T19:09:01.114777 #4] INFO -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] Parameters: {"utf8"=>"✓", "authenticity_token"=>"LRgMeu8ux6a2fH1FL4F79MBgYJV7tR6dUmagAh9HzZ+wSFnFzMTkqMF0UYONXQTJmML32/RNuL6/RlSzElIs9g==", "user"=>{"email"=>"kdy78022@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"登録"} 2017-12-30T19:09:01.628005+00:00 app[web.1]: I, [2017-12-30T19:09:01.627769 #4] INFO -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] Completed 500 Internal Server Error in 507ms (ActiveRecord: 0.0ms) 2017-12-30T19:09:01.629901+00:00 app[web.1]: F, [2017-12-30T19:09:01.629788 #4] FATAL -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] 2017-12-30T19:09:01.636673+00:00 app[web.1]: F, [2017-12-30T19:09:01.636548 #4] FATAL -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] NoMethodError (undefined method `encrypted_password=' for #<User:0x00000004656568>): 2017-12-30T19:09:01.636856+00:00 app[web.1]: F, [2017-12-30T19:09:01.636673 #4] FATAL -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] 2017-12-30T19:09:01.636929+00:00 app[web.1]: F, [2017-12-30T19:09:01.636859 #4] FATAL -- : [c2b8e53c-26e2-418d-ae11-8141a4ada67f] vendor/bundle/ruby/2.3.0/gems/activemodel-5.0.0.1/lib/active_model/attribute_methods.rb:433:in `method_missing'

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

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

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

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

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

gouf

2017/12/31 00:55

当該部分のコードを一部だけでも公開できませんか?
退会済みユーザー

退会済みユーザー

2017/12/31 02:14

ソースコードを記載しました!実はこれstaging環境で、production環境では同じようにmigrateして登録ができています。
guest

回答1

0

ベストアンサー

つheroku restart

投稿2017/12/31 02:13

hichon

総合スコア5737

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

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

退会済みユーザー

退会済みユーザー

2017/12/31 02:19

restartの手がありましたね…すっかり忘れていました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問