내 레일 앱에 activeadmin
이라는 관리자 인터페이스를 추가하려고합니다. 로컬에서 성공적으로 완료되었지만 heroku에 배포 한 후에 오류가 발생합니다. 내가 좋아하는 데이터베이스 마이그레이션에 필요한 모든 것을 수행 한 : 나는 [mysitename].herokuapp.com/admin
로 이동하면 그 아래 같은 오류를 제공활성 관리자가 perfetly 로컬로 작업 한 오류를 표시하는 이유는 무엇입니까?
config.consider_all_requests_local = true
: 나는 오류를 확인하기 위해 생산을 변경 한
heroku run rake db:create
heroku run rake db:migrate
을 :
ActiveRecord::StatementInvalid in ActiveAdmin::Devise::SessionsController#new
PG::UndefinedTable: ERROR: relation "admin_users" does not exist LINE 8: WHERE a.attrelid = '"admin_users"'::regclass^: SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod, (SELECT c.collname FROM pg_collation c, pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation), col_description(a.attrelid, a.attnum) AS comment FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"admin_users"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
은 내가 내 Heroku가 복제 및 schema.rb
에 admin_users
존재 여부되는지 확인합니다. 나는 admin_users
테이블이 schema.rb
에 있다는 것을 알았다.
내 routes.rb
은 다음과 같습니다
Rails.application.routes.draw do
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
devise_for :users
resources :users, only: :show
resources :posts do
resources :comments
resources :upvotes, only: :create
resources :downvotes, only: :create
end
root 'posts#index'
end
내 active_admin.rb
은 다음과 같습니다
ActiveAdmin.setup do |config|
config.site_title = "Instapost"
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
config.logout_link_path = :destroy_admin_user_session_path
config.comments = false
config.comments_menu = false
config.batch_actions = true
config.localize_format = :long
config.favicon = 'favicon.ico'
end
나는 많이 검색 한. 그러나 모든 솔루션이이 문제를 해결할 수 없습니다. 아무도이 문제를 해결할 수있게 도와주세요.
표가 성공적에게 Heroku에서 만든 실행? –
테이블이 히어로에 생성되지 않았습니다. – Achyut
'db : migrate'을 실행하고 오류가 무엇인지 확인해야합니다. 'heroku run bash'를 실행하여 대화식 쉘 세션을 얻을 수 있습니다. –