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

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

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

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

2回答

1407閲覧

【Heroku】PG::SyntaxError: ERROR: zero-length delimited identifier at or near """"

退会済みユーザー

退会済みユーザー

総合スコア0

Heroku

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/06/06 11:26

編集2020/06/07 03:12

前提・実現したいこと

Herokuにデプロイしたrailsアプリケーションでログイン機能を実装したいです。

発生している問題

ログイン画面でメアドとパスワードを入力しsubmitボタンを押すと「We're sorry, but something went wrong.」と表示される。
ログイン画面でメールアドレスとパスワードを入力してsubmitボタンを押すと「ログイン失敗」というフラッシュメッセージが表示される。

エラーメッセージ

heroku logsとすると以下のログが出力される。(重要そうなログをピックアップしました。)
2020-06-06T22:59:57.881856+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] ActionView::Template::Error (PG::SyntaxError: ERROR: zero-length delimited identifier at or near """"
2020-06-06T22:59:57.881857+00:00 app[web.1]: LINE 1: SELECT "users".* FROM "users" WHERE "users"."" = $1 LIMIT $2
2020-06-06T22:59:57.881858+00:00 app[web.1]: ^
2020-06-06T22:59:57.881859+00:00 app[web.1]: ):
2020-06-06T22:59:57.881859+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 32: <a href="ionamata">運営者が投稿する</a>
2020-06-06T22:59:57.881860+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 33: <a href="kensaku">検索ページ</a>
2020-06-06T22:59:57.881860+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 34: <a href="kesu">退会したい方はこちら</a>
2020-06-06T22:59:57.881860+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 35: <% if user_signed_in? %>
2020-06-06T22:59:57.881861+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 36: <p>ログインしていますよ!</p>
2020-06-06T22:59:57.881861+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 37: <%= link_to "退会", "kesu" %>
2020-06-06T22:59:57.881862+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] 38: <% else %>
2020-06-06T22:59:57.881862+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b]
2020-06-06T22:59:57.881863+00:00 app[web.1]: [551712e8-72f1-41a0-9b38-75d70b25f70b] app/views/layouts/application.html.erb:35

2020-06-07T02:58:12.534223+00:00 app[web.1]: [aa3088b6-c151-4017-928e-7f924fb9515e] TypeError (no implicit conversion of Symbol into Integer): 2020-06-07T02:58:12.534223+00:00 app[web.1]: [aa3088b6-c151-4017-928e-7f924fb9515e] 2020-06-07T02:58:12.534223+00:00 app[web.1]: [aa3088b6-c151-4017-928e-7f924fb9515e] app/controllers/users/sessions_controller.rb:5:in `create'

該当のソースコード

db/migrate/20200603074253_devise_create_users.rb

class DeviseCreateUsers < ActiveRecord::Migration[6.0] def change create_table :users do |t| t.string :email, null: false, default: "" t.string :encrypted_password, null: false, default: "" t.string :reset_password_token t.datetime :reset_password_sent_at t.datetime :remember_created_at t.timestamps null: false end add_index :users, :email, unique: true add_index :users, :reset_password_token, unique: true end end

application.html.erb

<!DOCTYPE html> <html> <head> <title>勉強しなさい。</title> <%= csrf_meta_tags %> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_path 'application', 'data-turbolinks-track': 'reload' %> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script language="JavaScript"> myTable = new Array(); myTable[0] = new Array("http://localhost:3000/1"); function rndLink(grp){ myRnd = Math.floor(Math.random() * myTable[grp].length); location.href = myTable[grp][myRnd]; } </script> </head> <body> <p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p> <form> <input type="button" value="おすすめ動画をランダムで" onclick="rndLink(0);"> </form> <a href="/">Topへ戻る</a> <a href="sinki">会員登録</a> <a href="login">ログイン</a> <a href="you">自分のユーザー情報</a> <a href="post">投稿したい</a> <a href="index">投稿一覧を見る</a> <a href="yakyuu">運営者が投稿する</a> <a href="kensaku">検索ページ</a> <a href="kesu">退会したい方はこちら</a> <% if user_signed_in? %> <p>ログインしていますよ!</p> <%= link_to "退会", "kesu" %> <% else %> <p>ログインしていませんよ!新規登録しろ!</p> <%= link_to "新規登録!", "sinki" %> <%= link_to "ログイン", "login" %> <% end %> <%= yield %> </body> </html>

top.html.erb

<h1>ブツべ!</h1> <p>このサイトは2020/4/29から作り始めました。</p> <p>YouTubeでビジネスを学ぼう</p> <h2>余計な誘惑を遮断</h2> <p>YouTubeでビジネス関連の動画を見ているとエンタメ動画を見てしまう…<br>しかしブツべならビジネス関連の動画のみが投稿されています!</p> <h3>サイト作成者のおすすめ!</h3> <a href="1">おすすめ動画1</a> <a href="2">おすすめ動画2</a> <a href="3">おすすめ動画3</a> <a href="4">おすすめ動画4</a> <a href="5">おすすめ動画5</a> <a href="https://twitter.com/share?ref_src=twsrc%5Etfw" class="twitter-share-button" data-show-count="false" data-text="ビジネスYouTuberのまとめサイトブツべ!ビジネスについて学ぶぞ!" data-url="https://butube.herokuapp.com/" data-hashtags="YouTuber">Tweet</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

home_controller.rb

class HomeController < ApplicationController def top end def you @myemail = User.find_by(email:session[:email]) @myid = User.find_by(id:session[:id]) end def kesu end def destroy #退会処理 end end

補足情報

Windows 10 home 64ビット
ruby 2.6.6
Ruby on rails 6.0.3.1
PostgreSQL 13beta1
テキストエディタ Atom

色々やっているうちにheroku logsで出力される内容もログインボタンを押した後の挙動も変わって混乱しております。よろしくお願い致します。

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

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

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

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

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

winterboum

2020/06/06 13:40 編集

topページのviewとそれを出すcontrollerを載せてください それと user_signed_in? の定義と
退会済みユーザー

退会済みユーザー

2020/06/06 23:10 編集

なんか再起動して routes.rbを変更したら解決しました・・・・ ありがとうございました。 追記 と思いきやログイン画面でsubmitボタンを押すと再度同じ「We're sorry, but something went wrong.」が発生し、ログを確認するとタイトルと同じログが出力されるので再度よろしくお願い致します。
winterboum

2020/06/06 23:22 編集

log全く同じですか?
退会済みユーザー

退会済みユーザー

2020/06/06 23:57

最初に掲載したログはTopページにアクセスできなかった際のログで今回はログインボタンを押したときのログなので微妙に違いますが大きな違いはないように見えます。 質問に書いてあるログの部分は左側の時間以外は同じです。
退会済みユーザー

退会済みユーザー

2020/06/07 00:03

今ソースコードは一切変えずにもう一度ログインボタンを押してみました。 すると今度は「We're sorry, but something went wrong.」ではなく「ログイン失敗」というフラッシュメッセージが表示されました・・・・ おそらく根本的なエラーは同じだと思うのですが一応報告させていただきます。
guest

回答2

0

ベストアンサー

こちらの質問ですがタイトルのログは現在確認できておらず解決の見込みがないため解決済みにしておきます・・・・
トホホ・・・・

投稿2020/06/07 08:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

なんか色々コードいじってたら解決しました・・・・
Herokuにデプロイしてからはアクセスできたりできなかったりごちゃごちゃです・・・・
覚えている範囲でやったこと↓
routes.rbにコントローラーの設定を追記

devise_for :users, skip: :all, :controllers => { :registrations => 'users/registrations', :sessions => 'users/sessions' }

これくらいですかね・・・・?
後はパソコンの電源を一回落としたのもよかったのかもしれません・・・・
名にはともあれありがとうございました。

と思いきやログイン画面でsubmitボタンを押すと再度同じエラーが発生してしまいます。

投稿2020/06/06 22:57

編集2020/06/06 23:01
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

asm

2020/06/07 02:46

たぶん、いちいち電源おとさんでもcookie消せば強制的にログアウトできそうですね。 なぜログインするとバグるのかは再現実験やってるがイマイチわかりません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問