Ruby on rails Rails管理员在开发中工作,而不是Heroku
我正在开发一个包含Rails管理员和CanCan的应用程序。 我只有一个users表,没有admin表。 用户表有一个名为admin的布尔属性 Rails Admin在开发中运行良好,但当我尝试在Heroku上访问它时,我得到:Ruby on rails Rails管理员在开发中工作,而不是Heroku,ruby-on-rails,heroku,Ruby On Rails,Heroku,我正在开发一个包含Rails管理员和CanCan的应用程序。 我只有一个users表,没有admin表。 用户表有一个名为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: relat
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
有什么想法吗
谢谢检查表:
/admin
我删除了一个文件,到目前为止,我从未使用过
git rm
命令。所以,Heroku仍然有那个文件。我也面临着同样的问题。我甚至尝试了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
您将看到您的应用程序的/admin链接现在运行良好
如果这解决了您的问题,请将其标记为答案。您是否使用了rake db:migrate?是-但我将重试$heroku run rake db:migrate我的项目的当前版本不包含任何管理控制器。Rails管理员的初始值设定项有:`config.current_user_method{current_user}自动生成#在这里设置管理员名称(可选的第二个数组元素将以漂亮的RailsAdmin红色出现©config.main_app_name=['Amerequest',Admin']#或者对于动态名称:#config.main_app u name=Proc.new{controller |[Rails.application.engine_name.titleize,controller.params['action'].titleize]}和routes.rb有:mount RailsAdmin::engine=>'/ame',:as=>'Rails_admin'`Ari,对我来说,它只是从git中删除文件。但是,感谢您的信息。rake资产:预编译可能会变得混乱(将所有资产文件放入项目中)所以我尽量避免这种情况。要让rails_admin在heroku上工作而不在本地预编译资产,请在应用程序中放置以下行。rb:
#在预编译资产之前防止初始化应用程序(heroku所需)config.assets.initialize_on_precompile=false
#添加rails管理员资产(必需)config.assets.precompile+=['rails\u admin/rails\u admin.css','rails\u admin/rails\u admin.js']