0
私はherokuに展開し、herokuコマンドを実行しています。これはブラウザで正常に開きます。しかし、私がサインアップボタンをクリックすると、それは停止し、次のherokuログを与えます。それはローカルサーバー上で完璧に動作しています。しかし、私はまた、herokuサーバー上で実行したい。ActiveRecord :: StatementInvalid Ruby on Rail 3.2
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.2'
gem 'jquery-rails', '2.0.0'
#We’ll use the state-of-the-art hash function called bcrypt to irreversibly encrypt the password to form the password hash.
gem 'bcrypt-ruby', '3.0.1'
gem 'pg', '0.13.2'
group :development do
gem 'rspec-rails', '2.9.0'
gem 'guard-rspec', '0.5.5'
gem 'capybara', '1.1.2'
gem 'annotate', '~> 2.4.1.beta'
gem 'sqlite3', '1.3.6'
end
group :test do
gem 'rspec-rails', '2.9.0'
gem 'capybara', '1.1.2'
gem 'guard-spork', '0.3.2'
gem 'spork', '0.9.0'
gem 'factory_girl_rails', '1.4.0'
#gem 'webrat', '0.7.1'
end
group :assets do
# gem 'execjs'
gem 'therubyracer', :platforms => :ruby
gem 'sass-rails', '~> 3.2.4'
gem 'coffee-rails', '~> 3.2.2'
gem 'uglifier', '>= 1.2.3'
end
アプリ/コントローラ/ users_controller.rbは次のとおりです:Herokuのは、すくいデシベルを実行した後
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
end
は:
を移行これは以下のとおりである http://ruby.railstutorial.org/chapters/sign-in-sign-out#sec:signin_success2012-05-11T12:24:58+00:00 app[web.1]: Started GET "https://stackoverflow.com/users/new" for 122.179.134.45 at 2012-05-11 05:24:58 -0700
2012-05-11T12:24:58+00:00 app[web.1]: Processing by UsersController#new as HTML
2012-05-11T12:24:58+00:00 app[web.1]: Completed 500 Internal Server Error in 37ms
2012-05-11T12:24:58+00:00 app[web.1]:
2012-05-11T12:24:58+00:00 app[web.1]: : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
2012-05-11T12:24:58+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "users" does not exist
2012-05-11T12:24:58+00:00 app[web.1]: ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2012-05-11T12:24:58+00:00 app[web.1]: WHERE a.attrelid = '"users"'::regclass
2012-05-11T12:24:58+00:00 app[web.1]: FROM pg_attribute a LEFT JOIN pg_attrdef d
2012-05-11T12:24:58+00:00 app[web.1]: AND a.attnum > 0 AND NOT a.attisdropped
2012-05-11T12:24:58+00:00 app[web.1]: ORDER BY a.attnum
2012-05-11T12:24:58+00:00 app[web.1]:):
2012-05-11T12:24:58+00:00 heroku[router]: GET demoapp3708.heroku.com/users/new dyno=web.1 queue=0 wait=0ms service=44ms status=500 bytes=643
2012-05-11T12:24:58+00:00 app[web.1]: app/controllers/users_controller.rb:8:in `new'
2012-05-11T12:24:58+00:00 app[web.1]: app/controllers/users_controller.rb:8:in `new'
Gemfileの一例です
PG::Error: ERROR: relation "users" does not exist
: ALTER TABLE "users" ADD COLUMN "password_digest" character varying(255)
ああデクスターを使用して手動で実行する必要がありますそうで
!あなた!お返事をありがとうございます。私が試してみましょう。次のエラーを出しています: – vajapravin
Gemfileファイルを変更するたびにdb:migrateを実行する必要がありますか?私はファイルを変更する前にそれをしましたが、ファイルを変更してプロジェクトをデプロイした後でエラーが発生し、上記のコマンドを実行しなければなりませんでした。 – newguy