当我尝试访问其中一个页面时出现以下错误
ActiveRecord :: StatementInvalid(Mysql2 ::错误:表'p478r679_partybot.secretsanta'不存在:显示来自'secretsanta'的信息):app/controllers/secretsantas_controller.rb:7:in`index'
但是这个表存在于我的数据库中.
为了给你一个问题的背景,几年前我写了这个应用程序,直到最近才开始工作.当我尝试使用瘦服务器启动应用程序时,出现以下错误
您已经激活了机架1.4.3,但您的Gemfile需要机架1.2.1.使用bundle exec可以解决这个问题.(宝石:: LoadError)
所以我从托管服务处寻求技术支持以寻求帮助.他们说,
"问题是rails版本与bundler版本不兼容.现在我们已将rails版本更改为"3.1.10"并已安装捆绑器"1.2.3".现在您的网站正在加载正常."瘦"服务在您的服务器中启动.端口正在侦听应用程序.请参阅下面给出的详细信息."
他们已经更新了我的所有宝石以使其正常运行.我最初使用的是Rails 3.0.1和瘦1.2.7.现在我有Rails 3.1.10和瘦1.5.1.现在应用程序正在加载,除Secretsanta外,所有功能都在运行.
当我仔细查看错误信息的以下部分时,"显示来自秘密的信息"我看到表名是"secretsanta",它应该是"secretsanta s "吗?
我不知道该怎么做,毕竟应用程序在过去的3年里工作正常,我不知道为什么它在更新宝石后不起作用
以下是Secretsanta模型用户模型和SecretsantasController的一些代码片段.
Secretsanta.rb
class Secretsanta < ActiveRecord::Base
belongs_to :user
belongs_to :gift_receiver, :class_name => "User"
...
Run Code Online (Sandbox Code Playgroud)
User.rb
class User < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :first_name, :last_name, :email,
:password, :password_confirmation, :remember_me
validates :first_name, :presence => true
validates :last_name, :presence => true
validate :should_be_invited
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable and :timeoutable …Run Code Online (Sandbox Code Playgroud)