2012-02-21 22 views
2

Rails AdminとCanCanを含むアプリケーションを開発しています。 私はuserテーブルしか持っていません。管理テーブルはありません。 userテーブルには、adminというブール属性があります。Rails Adminは開発中で、Herokuでは動作しません

Railsの管理者は、開発中に正常に動作しますが、私は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 

任意のアイデア?

おかげ

+1

rake db:migrate? – apneadiving

+0

はい - もう一度お試しください$ heroku rake db:migrate – Reddirt

答えて

2

ファイルを削除しましたが、これまでにgit rmコマンドを使用したことがありませんでした。
だから、Herokuはまだそのファイルを持っていました。

0

チェックリスト:

  1. あなたはHerokuのにデータベースを移行するために覚えていることを確認してください。私はそれが列名として「管理者」ではない「管理者」を探しているということであるため

  2. /admin

  3. 赤旗を支持しているコントローラのコードを表示します。シンプルなタイプミスかもしれません。

+0

私のプロジェクトの現在のバージョンには管理者権限が含まれていません。 レール管理のための初期化が有する:ここで 'config.current_user_method {CURRENT_USER}#自動生成 #設定管理者名(オプション二番目の配列要素は、美しいRailsAdmin赤で表示されます©) config.main_app_name = [ 'Amerequest'、 'Admin'] #または動的名の場合: #config.main_app_name = Proc.new {| controller | [Rails.application.engine_name.titleize、controller.params ['action']。titleize]} routes.rbには次のものがあります。 mount RailsAdmin :: Engine => '/ ame'、:as => 'rails_admin' – Reddirt

-1

私も同じ問題に直面しています。私はheroku db:スキーマが正しくマイグレーションされるのを見るためにプッシュしましたが、それでもエラー(/ adminリンクのみ)を見ました。 rails_admin gemの問題のようです。

インターネットを検索すると、資産をプリコンパイルする必要があるようです。多分それがエラーの原因です。試してみてください。

更新:はい問題を解決しました。以下のコマンドをローカルで実行して資産をあらかじめコンパイルし、git commitを実行してherokuにプッシュする必要があります。それは問題を解決するはずです。 すくい資産:プリコンパイル

git add -A 

git commit -am "Whatever Your Comment" 

git push -u origin master 

git push heroku master 

そして、あなたはあなたのアプリケーションの/管理リンクが現在正常に動作していることがわかります。

この問題が解決された場合は、答えとして記入してください。

+0

アリ、私のためにはgitからファイルを削除するだけでした。しかし、情報に感謝します。 – Reddirt

+0

rake assets:プリコンパイルは面倒です(プロジェクト内のすべてのアセットファイルを置く)ので、私はそれを避けようとします。 '#アセットがプリコンパイルされる前にアプリケーションを初期化しないようにする(英雄のために必要) config.assets.initialize_on_precompile = false' 'は、アセットをローカルでプリコンパイルせずにherokuで動作するようにするには、 #Rails Adminアセットを追加する(必須) config.assets.precompile + = ['rails_admin/rails_admin.css'、 'rails_admin/rails_admin.js'] ' –

関連する問題