Rails管理员在开发中工作,而不是Heroku

时间:2012-02-21 21:40:01

标签: ruby-on-rails heroku

我正在开发一个包含Rails Admin和CanCan的应用程序。 我只有一个用户表而不是一个管理表。 用户表有一个名为admin的布尔属性

Rails Admin在开发中运行良好,但是当我尝试在Heroku上访问它时,我得到:

        Started GET "/admin" for 70.34.8.244 at 2012-02-21 20:32:31 +0000

    ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "admins" does not exist
                SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
                  FROM pg_attribute a LEFT JOIN pg_attrdef d
                     ON a.attrelid = d.adrelid AND a.attnum = d.adnum
                 WHERE a.attrelid = '"admins"'::regclass
                   AND a.attnum > 0 AND NOT a.attisdropped
                 ORDER BY a.attnum
    ):



 cache: [GET /admin] miss

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:2)

我删除了一个文件,到目前为止我从未使用过git rm命令 所以,Heroku仍然拥有该文件。

答案 1 :(得分:0)

清单:

  1. 确保您记得在Heroku中迁移数据库。

  2. 显示支持/admin

  3. 的控制器代码
  4. 我的红旗是它正在寻找“管理员”而不是“管理员”作为列名。可能是一个简单的拼写错误。

答案 2 :(得分:-1)

我也面临同样的问题。我甚至尝试了一个heroku db:push来看看架构是否正常迁移但仍然是错误(仅适用于/ admin链接)。看起来像rails_admin gem中的一些问题。

在互联网上搜索我们需要预先编译资产。也许这会导致错误。会试着让你知道。

更新:是的,它解决了问题。您需要在本地运行以下命令来预编译您的资产,然后执行git提交并推送到heroku。那应该可以解决问题。     rake资产:预编译

git add -A

git commit -am "Whatever Your Comment"

git push -u origin master

git push heroku master

您将看到您的应用/管理员链接现在正常运行。

如果这可以解决您的问题,请将其标记为答案。