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

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

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

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

Q&A

解決済

1回答

1636閲覧

Ruby on Rails Tutorial制作Appのログイン機能がheroku上でエラーに

hikaru923

総合スコア27

Heroku

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

0グッド

0クリップ

投稿2016/11/21 10:07

編集2016/11/22 09:07

###前提・実現したいこと
ruby on railsを用い(この表現も正確か分かりません)自分でwebページを作ってみたいと思っております。
0から作るのではなく、
Ruby on Rails チュートリアルを全行程終わらせた成果物をブラッシュアップしていく、という形です。

現在、かなり迷走いたしまして
「git cloneして別のディレクトリに成果物をコピーしてそのアプリをいじっていたのですが
どうにもherokuにデプロイ出来なかったので結局 既存のworkspace/sample_appの本体を改造して
herokuにデプロイしていく」という状況になっております。
この質問の大前提として、プログラマ歴半年のペーペーですので
そもそも用語の使い方などにミスがあるかもしれません…すみません。
###発生している問題・エラーメッセージ
sample_app以下をherokuにデプロイしたのですが
アプリ自体、トップページなどは動作するのですが
ログイン画面を利用し
ログインが完了した途端画面上に「We're sorry, but something went wrong.」と出てしまいます。
その他、「ログイン状態でなければいけないページ」には同様に遷移することが出来ません。
ちなみに、ログイン状態でなくても閲覧出来るページにおいては
画面上部のヘッダー部分は、ログイン時には「ログアウト」ボタンが現れ、ログイン状態であることが分かります。
以下に「登録済みの正しいメールアドレス/パスワードを入力してログインボタンを押した直後」の
heroku logs上のメッセージを掲載します。

2016-11-21T09:04:36.465065+00:00 heroku[router]: at=info method=POST path="/login" host=hikaru923app.herokuapp.com request_id=91150f45-3a27-4859-8fdc-5885b7559edc fwd="123.456.78.90" dyno=web.1 connect=0ms service=85ms status=302 bytes=951 2016-11-21T09:04:36.380374+00:00 app[web.1]: Started POST "/login" for 123.456.78.90 at 2016-11-21 09:04:36 +0000 2016-11-21T09:04:36.382891+00:00 app[web.1]: Processing by SessionsController#create as HTML 2016-11-21T09:04:36.382962+00:00 app[web.1]: Parameters: {"utf8"=>"?", "authenticity_token"=>"KtXutd9ObuplqnfLlQZoBNFczQJrslgKx0QjwQeLUvL9QKmY7OITpShjywqtrLJMFfObE+utSzEaUW0YrBvg+A==", "session"=>{"email"=>"mofumofu_hikarun@docomo.ne.jp", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"} 2016-11-21T09:04:36.385393+00:00 app[web.1]: User Load (1.8ms) SELECT "users".* FROM "users" WHERE "users"."email" = $1 LIMIT 1 [["email", "mofumofu_hikarun@docomo.ne.jp"]] 2016-11-21T09:04:36.459518+00:00 app[web.1]: (1.8ms) BEGIN 2016-11-21T09:04:36.461819+00:00 app[web.1]: (1.5ms) COMMIT 2016-11-21T09:04:36.462262+00:00 app[web.1]: Redirected to https://hikaru923app.herokuapp.com/users/1 2016-11-21T09:04:36.462413+00:00 app[web.1]: Completed 302 Found in 79ms (ActiveRecord: 5.1ms) 2016-11-21T09:04:36.647766+00:00 heroku[router]: at=info method=GET path="/users/1" host=hikaru923app.herokuapp.com request_id=edea7163-91e7-42d9-b8a1-dded2e9935b2 fwd="123.456.78.90" dyno=web.1 connect=0ms service=10ms status=500 bytes=1714 2016-11-21T09:04:36.636031+00:00 app[web.1]: Started GET "/users/1" for 123.456.78.90 at 2016-11-21 09:04:36 +0000 2016-11-21T09:04:36.638840+00:00 app[web.1]: Processing by UsersController#show as HTML 2016-11-21T09:04:36.638858+00:00 app[web.1]: Parameters: {"id"=>"1"} 2016-11-21T09:04:36.641309+00:00 app[web.1]: User Load (1.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]] 2016-11-21T09:04:36.644114+00:00 app[web.1]: PG::UndefinedTable: ERROR: relation "microposts" does not exist 2016-11-21T09:04:36.644115+00:00 app[web.1]: LINE 5: WHERE a.attrelid = '"microposts"'::regclass 2016-11-21T09:04:36.644116+00:00 app[web.1]: ^ 2016-11-21T09:04:36.644117+00:00 app[web.1]: : SELECT a.attname, format_type(a.atttypid, a.atttypmod), 2016-11-21T09:04:36.644119+00:00 app[web.1]: pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod 2016-11-21T09:04:36.644121+00:00 app[web.1]: FROM pg_attribute a LEFT JOIN pg_attrdef d 2016-11-21T09:04:36.644121+00:00 app[web.1]: ON a.attrelid = d.adrelid AND a.attnum = d.adnum 2016-11-21T09:04:36.644122+00:00 app[web.1]: WHERE a.attrelid = '"microposts"'::regclass 2016-11-21T09:04:36.644123+00:00 app[web.1]: AND a.attnum > 0 AND NOT a.attisdropped 2016-11-21T09:04:36.644123+00:00 app[web.1]: ORDER BY a.attnum 2016-11-21T09:04:36.644124+00:00 app[web.1]: 2016-11-21T09:04:36.644262+00:00 app[web.1]: Completed 500 Internal Server Error in 5ms (ActiveRecord: 3.9ms) 2016-11-21T09:04:36.645436+00:00 app[web.1]: 2016-11-21T09:04:36.645437+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "microposts" does not exist 2016-11-21T09:04:36.645438+00:00 app[web.1]: LINE 5: WHERE a.attrelid = '"microposts"'::regclass 2016-11-21T09:04:36.645438+00:00 app[web.1]: ^ 2016-11-21T09:04:36.645439+00:00 app[web.1]: : SELECT a.attname, format_type(a.atttypid, a.atttypmod), 2016-11-21T09:04:36.645439+00:00 app[web.1]: pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod 2016-11-21T09:04:36.645440+00:00 app[web.1]: FROM pg_attribute a LEFT JOIN pg_attrdef d 2016-11-21T09:04:36.645440+00:00 app[web.1]: ON a.attrelid = d.adrelid AND a.attnum = d.adnum 2016-11-21T09:04:36.645441+00:00 app[web.1]: WHERE a.attrelid = '"microposts"'::regclass 2016-11-21T09:04:36.645441+00:00 app[web.1]: AND a.attnum > 0 AND NOT a.attisdropped 2016-11-21T09:04:36.645441+00:00 app[web.1]: ORDER BY a.attnum 2016-11-21T09:04:36.645442+00:00 app[web.1]: ): 2016-11-21T09:04:36.645442+00:00 app[web.1]: app/controllers/users_controller.rb:13:in `show' 2016-11-21T09:04:36.645442+00:00 app[web.1]: 2016-11-21T09:04:36.645443+00:00 app[web.1]:

localhost:3000上でのアプリではこういう事は起きず、本番環境だから起きているみたいです。
色々知識もないままいじってしまったので(別のディレクトリにコピーするときも適当に色々操作してしまいました…)
この操作のせいでは?という心当たりが絞れません…。
###該当のソースコード
どの部分が問題を引き起こしているのか不明なので省略させていただきます。
問題解決に向け必要なコードが御座いましたらお申し付けください。
早急に記述させていただきます。

###試したこと
データベース関連のエラーかな?と思い

heroku pg:reset DATABASE

後に

heroku run rake db:migrate

を入力してデータベース再構築しようとしたのですが、最初のうちは成功しているのですが
途中から大量のエラーが…
概ね同じような内容なのでエラーを一部抜粋いたします。

・ ・ ・ (ここまで上手くいってそうなログ) == 20161023193201 AddResetToUsers: migrating ================================== (ここから怪しいログ?) -- add_column(:users, :reset_digest, :stringreset_sent_at) (2.3ms) ALTER TABLE "users" ADD "reset_digest" stringreset_sent_at PG::UndefinedObject: ERROR: type "stringreset_sent_at" does not exist LINE 1: ALTER TABLE "users" ADD "reset_digest" stringreset_sent_at rake aborted! StandardError: An error has occurred, this and all later migrations canceled: PG::UndefinedObject: ERROR: type "stringreset_sent_at" does not exist LINE 1: ALTER TABLE "users" ADD "reset_digest" stringreset_sent_at ^ : ALTER TABLE "users" ADD "reset_digest" stringreset_sent_at /app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `async_exec' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `block in execute' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log' (以下略)

「stringreset_sent_at」という単語で検索しても何もヒットせず、詰んでいるという状況です。
チュートリアル上での指示でなければ、自分でこのような変数などを名付けた覚えはありません。
###謝辞
問題解決にあたり、何か必要な情報などありましたら遠慮なくお申し付けください。随時追加させていただきます!
長文になりましたが、ここまで目を通していただき誠にありがとうございました。
何卒、お力添えをよろしくお願い申し上げます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

add_columnのところは

add_column(:users, :reset_digest, :string)

が正しいんじゃないですかね。
多分ですけど、reset_sent_atって文字列をどっかでコピってそれを誤って
:stringの後ろに貼り付けちゃったんじゃないかなと
(reset_sent_atってカラム名ぽいし

最初のエラーはmicropostsがないよって言われてるよーな気がします。
これは推測ですけどmicropostsテーブルを作成する前に上記のadd_columnでエラーが発生して
つくられてないのかなーと思います。

投稿2016/11/22 15:32

schindler

総合スコア112

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

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

hikaru923

2016/11/24 04:51

まさしくその通りでした…敬服いたします。 雑多な情報に目を通していただき、また その中から簡潔に分かりやすいアドバイスをいただけて本当に 申し訳なくもあり、ありがたくもあります。 お世話になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問