0

展開して以来、この問題が発生しており、理解できません。

私はいくつかの情報を提供し、他に何か必要な場合はお知らせください! ありがとう!

I, [2013-09-08T12:44:31.935143 #19456]  INFO -- : Started POST "/sessions" for {IP ADDRESS} at 2013-09-08 12:44:31 -0700
I, [2013-09-08T12:44:31.937969 #19456]  INFO -- : Processing by SessionsController#create as HTML
I, [2013-09-08T12:44:31.938102 #19456]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"{AUTHENTICITY TOKEN}", "email"=>"mike@test.com", "password"=>"[FILTERED]", "commit"=>"Log In"}
I, [2013-09-08T12:44:31.941064 #19456]  INFO -- : Completed 500 Internal Server Error in 3ms
F, [2013-09-08T12:44:31.943631 #19456] FATAL -- : 
ActiveRecord::StatementInvalid (Could not find table 'users'):
app/controllers/sessions_controller.rb:6:in `create'

明らかに、「users」テーブルが存在しないことを私に伝えていますが、そのBSは存在するためです。テーブルが見つからないのではないでしょうか?Railsの移行を使用してテーブルを作成したため、これも奇妙だと思います。

参考までに、私の本番用アダプターを次に示します。

production:
  adapter: mysql
  database: {DATABASENAME}
  username: {USERNAME}
  password: {PASSWORD}
  host: localhost
  port: 3306

ここに私のシードファイルがあります:

User.create([{ email: 'mike@test2.com' }, { password_digest: 'password' }])

そして私のユーザーモデル:

class User < ActiveRecord::Base
  has_secure_password

  validates_uniqueness_of :email
end

そして私のセッションコントローラー(ログインを処理します):

class SessionsController < ApplicationController
  def new
  end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
      session[:user_id] = user.id
      redirect_to root_url, notice: "Logged in!"
    else
      flash.now.alert = "Email or password is invalid"
      render "new"
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to root_url, notice: "Logged out!"
  end
end

私はデータベースに直接ユーザーを作成したので、問題はユーザーが存在しないことではなく、ログファイルはテーブル「ユーザー」が存在しないと言っていますが、それも間違っています...私は本当に何がわからない続きます...

ああ、ところで、これはすべて開発中に機能します。ログイン、ユーザー作成、すべて。私は開発にsqlite3を使用していて、本番用にmysqlに切り替えましたが、すべてが台無しになりました....

どんな助けでも大歓迎です!

4

1 に答える 1