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

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

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

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

Q&A

解決済

2回答

1346閲覧

開発環境では動きますが、本番では動きません。

ktd71

総合スコア5

Ruby on Rails

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

0グッド

0クリップ

投稿2020/02/25 22:16

編集2020/02/29 04:26

開発環境では動きますが、本番環境でエラーを起こしてしまいます。
初めて質問するので、勝手が分からず、何か抜けている情報があれば仰って下さい。
URL
https://alphablog7777777711111.herokuapp.com

heroku
https://dashboard.heroku.com/apps/alphablog7777777711111

発生している問題・エラーメッセージ

上記のように表示されます。
追記します。(最新)

PG::UndefinedColumn: ERROR: column articles.user_id does not exist LINE 1: SELECT COUNT(*) FROM "articles" WHERE "articles"."user_id" =...

hoshi-takanori 18時間前

heroku アプリ管理画面の url はプロジェクトオーナーとしてログインしないと見れないので意味ないです。 それより、エラーのありそうなソースコード(部分または全部)を貼っていただけると回答がつきやすいと思います。

ご指導ありがとうございます!ファイルを追記します!当アプリでDBを用いるアクション(ユーザーリスト・記事リストへのアクセス)をするとエラーを起こします。

アプリ

ruby on rails
コード
class UsersController < ApplicationController
before_action :set_user, only: [:edit, :update, :show]
before_action :require_same_user, only: [:edit, :update, :destroy]
before_action :require_admin, only: [:destroy]

def index
@users = User.paginate(page: params[:page], per_page: 5)
end
・・・
def user_params
params.require(:user).permit(:username, :email,:password)
end

コード
Rails.application.routes.draw do
root 'pages#home'
get 'about', to: "pages#about"
resources :articles
get 'signup', to: "users#new"
resources :users, except: [:new]
get 'login', to: 'sessions#new'
post 'login', to: 'sessions#create'
delete 'logout', to: 'sessions#destroy'
resources :categories, except: [:destroy]
end

DB

1コード 2ActiveRecord::Schema.define(version: 2020_02_24_090213) do 3 4 create_table "articles", force: :cascade do |t| 5 t.string "title" 6 t.text "description" 7 t.datetime "created_at" 8 t.datetime "updated_at" 9 t.integer "user_id" 10 end 11 12 create_table "categories", force: :cascade do |t| 13 t.string "name" 14 t.datetime "created_at", precision: 6, null: false 15 t.datetime "updated_at", precision: 6, null: false 16 end 17 18 create_table "users", force: :cascade do |t| 19 t.string "username" 20 t.string "email" 21 t.datetime "created_at", precision: 6, null: false 22 t.datetime "updated_at", precision: 6, null: false 23 t.string "password_digest" 24 t.boolean "admin", default: false 25 end 26 27end 28 29 30database.yml 31 32production: 33 <<: *default 34 adapter: postgresql 35 encoding: unicode 36 pool: 5 37 38 39 40 41 42 43問題部のログ↓ 44```log 452020-02-29T03:58:49.864374+00:00 app[web.1]: [be594ea3-b9f8-4402-8fb1-750c855be92d] Parameters: {"authenticity_token"=>"bwMnkewc+r1okRatJJkAE3TWQkYGcN+x/vy0M6PHo+bFxMCsfxea1MIpiFMH2ghaKWCSA/JsvhtiemtDIpJ/VA==", "article"=>{"title"=>"aaaaaaaaaaaaaa", "description"=>"aaaaaaaaaaaaaaaaa"}, "commit"=>"Create Article"} 462020-02-29T03:58:49.867819+00:00 app[web.1]: [be594ea3-b9f8-4402-8fb1-750c855be92d] User Load (1.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] 472020-02-29T03:58:49.868481+00:00 app[web.1]: [be594ea3-b9f8-4402-8fb1-750c855be92d] Completed 500 Internal Server Error in 4ms (ActiveRecord: 1.3ms | Allocations: 577) 482020-02-29T03:58:49.868963+00:00 app[web.1]: [be594ea3-b9f8-4402-8fb1-750c855be92d] 492020-02-29T03:58:49.868964+00:00 app[web.1]: [be594ea3-b9f8-4402-8fb1-750c855be92d] ActiveModel::MissingAttributeError (can't write unknown attribute `user_id`): 50

ちなみにローカルにて正常に作動した場合、ログは以下になります。
Processing by ArticlesController#create as HTML
Parameters: {"authenticity_token"=>"UVbtg4lkZecIuA0te4HggAcwUjzMHK56bWslH5g2S8Qb+9E1r5XlBur5Lfi2OBrQjN6zjoIQGedc8D08yv9i+w==", "article"=>{"title"=>"aaaaaaaaaaaaaa", "description"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}, "commit"=>"Create Article"}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
↳ app/controllers/application_controller.rb:7:in current_user' (0.1ms) begin transaction ↳ app/controllers/articles_controller.rb:35:in create'
Article Create (1.6ms) INSERT INTO "articles" ("title", "description", "created_at", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?) [["title", "aaaaaaaaaaaaaa"], ["description", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], ["created_at", "2020-02-29 04:22:38.795512"], ["updated_at", "2020-02-29 04:22:38.795512"], ["user_id", 1]]
↳ app/controllers/articles_controller.rb:35:in create' (3.3ms) commit transaction ↳ app/controllers/articles_controller.rb:35:in create'
Redirected to http://localhost:3000/articles/5
Completed 302 Found in 18ms (ActiveRecord: 5.3ms | Allocations: 2981)

お手数をおかけしますが、どうぞ宜しくお願い致します。

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

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

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

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

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

hoshi-takanori

2020/02/26 00:55

heroku アプリ管理画面の url はプロジェクトオーナーとしてログインしないと見れないので意味ないです。 それより、エラーのありそうなソースコード(部分または全部)を貼っていただけると回答がつきやすいと思います。
shinoharat

2020/02/28 07:58

エラーログって本当に E, [2020-02-25T22:04:06.370128 #4] ERROR -- : controller#action = users#index しか出てないですか? その下にもう少し情報が出ているような気がするのですが・・・
ktd71

2020/02/29 01:25

ご質問頂きありがとうございます。 本文にも追記致しましたが、 PG::UndefinedColumn: ERROR: column articles.user_id does not exist LINE 1: SELECT COUNT(*) FROM "articles" WHERE "articles"."user_id" =... との表示が出ます。
ktd71

2020/02/29 01:28

上記の通り、articleのテーブルにuser_idは存在しています。 herokuの関係で、DBをSQLからpostgresqlに切り替えた際のエラーでしょうか。。。
guest

回答2

0

エラーメッセージやログにこれといった情報が無いので、勘でしか答えられませんが・・・

DBを用いるアクション(ユーザーリスト・記事リストへのアクセス)をするとエラーを起こします。

とのことなので、ひょっとして migrate してないとかですかね?

デプロイ時に以下のコマンドは実行しましたか?

$ heroku run rake db:migrate

投稿2020/02/28 07:54

shinoharat

総合スコア1676

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

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

ktd71

2020/02/29 01:32

適切な質問が出来ていない中、アドバイスを下さり、ありがとうございます。 ”heroku run rake db:migrate”は既に行なっており、エラーも特にありませんでした。ですので、他に問題点があるのかと思っています。
guest

0

自己解決

自己解決できました!
デプロイ時の警告を参考に
config.assets.compile = true => false
にすることで、解決しました。

皆様お手数をおかけいたしました。

投稿2020/02/29 08:03

ktd71

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問