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

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

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

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

Ruby on Rails

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

Q&A

解決済

2回答

1187閲覧

webアプリ(railsで作成)のherokuでのデプロイでエラー

sakiko

総合スコア7

Heroku

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

Ruby on Rails

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

1グッド

0クリップ

投稿2017/09/13 05:26

rails で作成したwebアプリをherokuでデプロイしましたが、データベースあたり接続がうまくいっていないのか、途中でエラーが出ます。
作成しているのはSNS型のアプリで、トップページはオンライン上にうまく出るのですが、会員登録画面で情報を記入し、登録ボタンを押すと

イメージ説明

と出ます。

###heroku logs (ターミナルで表示)のエラー

Completed 500 Internal Server Error in 126ms (ActiveRecord: 22.1ms) ActiveModel::UnknownAttributeError (unknown attribute 'name_family_kanji' for User.):

以上のようなエラーが出ています。
name_family_kanjiは、登録画面に最初に記入するカラムです。

なお、ローカル環境では問題なくできており、データベースもうまく扱えております。

herokuでデプロイした時、データベースとの接続がうまくいっていないのではないかと疑っております。
同様の現象の質問がterateilで挙げられておりましたが、回答がありませんでした。

https://teratail.com/questions/44590

解決に繋がる方法をご教示いただければ幸いです。
よろしくお願いいたします。

hb50000z👍を押しています

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

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

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

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

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

NobutakaKomaki

2017/09/13 06:12

heroku run rake db:migrateは、実行しましたか?
sakiko

2017/09/13 06:35

ご返信ありがとうございます。実行しましたが、同じエラーが出ます。。
guest

回答2

0

suamaさんのご指摘通りherokuのCLIで確認したところ、name_family_kanjiと言うカラムだけありませんでした。デプロイする時にマイグレーションファイル関連でエラーが発生し、少し消したので、その際にカラムが欠けてしまったものと思われます。
NobutakaKomakiさん、suamaさん、ありがとうございました。またよろしくお願いいたします。

投稿2017/09/16 15:13

sakiko

総合スコア7

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

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

0

ベストアンサー

こんにちは。もしお手元にheroku のCLI(コマンドラインツール)をインストールされていましたら、heroku loginしてアプリケーションと接続した状態で、以下を試してみてください。
(お手元のアプリケーションのソースコードの直下で良いと思います)

rails console というものを利用すると、アプリケーションの動作などがチェックできます。

heroku run rails console で rails console立ち上げ

$ heroku run rails console

そうしたら、多分こんなメッセージが出ます。

Running rails console on ⬢ アプリケーション名... up, run.xxxxx Loading production environment (Rails 5.1.2) irb(main):001:0>

rails consoleで接続調査

>マークが出ている後ろで、ActiveRecord::Base.connection_config と入力してみてください。
DBとの接続情報が表示されます。

irb(main):014:0> ActiveRecord::Base.connection_config => {:adapter=>"postgresql", :pool=>5, :timeout=>5000, :database=>"xxxxxx" ....}

うまく表示されたら、次に、 ActiveRecord::Base.connection.tables と入力してみてください。
うまくいくと、想定しているテーブルの名前が出てきます。

irb(main):005:0> ActiveRecord::Base.connection.tables => ["schema_migrations", "テーブル1", "テーブル2", .... ]

ここまで表示されたら、テーブルは作成されていて接続も問題ないと思います。

エラーメッセージは、Userモデル(テーブルは多分 users)に name_family_kanji と言う列が無いと言われてるっぽいので、引き続きコンソールでこのカラムがあるか確認してみてください。
User.inspect で表示されるかと思います。

irb(main):009:0> User.inspect => "User(id: integer, .... 存在する列名...., created_at: datetime, updated_at: datetime)"

本当に列があるかどうか確認できると思います。
参考になりましたら幸いです。

投稿2017/09/14 08:32

suama

総合スコア1997

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問