2012-07-22 3 views
2

Heroku의 특수 구성에서 제공하는 기능을 사용하면 오류가 발생합니다.동적 호출을 heroku가 실행하거나 인식하지 못하도록 롤링

특히, 저는 Rolify 메서드 is_admin을 사용하고 있습니까? 사용자 초기화 파일의 구성 설정에 의해 가능하게됩니다.

지금까지 Heroku를 사용하여 데이터베이스를 다시 마이 그 레이션하고 응용 프로그램을 재시작하고 페이지를 여러 번 새로 고칩니다. 로컬 서버를 재설정 할 때마다 로컬 컴퓨터와 같은 구성 파일을 실행하도록 Heroku를 얻으려면 어떻게해야합니까?

오류 :

ActionView::Template::Error (undefined method `is_admin?' for #<User:0x0000000524c8e0>): 
2012-07-22T09:00:53+00:00 app[web.1]:  1: <% if current_user.is_admin? %> 

코드 :

# config/initializers/rolify.rb 
Rolify.configure do |config| 
    config.use_dynamic_shortcuts 
end 

글쎄, 내가 한 가지 더 시도하고 일했다, 그러나 여기 그냥 경우입니다.

답변

3

나는 heroku run rake db:reset을 실행했으며 다시 작동했습니다. 왜 잘 모르겠지만 오 잘.

편집 :

문제는 역할이 데이터베이스에 아직 존재하지 않는 경우에 당신이 Rolify 사용자 정의 메소드를 호출하면, 그것이 오류가 발생한다는 것입니다. 이 문제를 해결하려면 데이터베이스에 필요한 모든 역할을 지정하거나 더 나은 방법으로 동적 방법을 사용하지 마십시오.

예를 들어 @user.is_admin? 대신 @user.has_role?(:admin)을 사용하면 깨지지 않습니다.

+1

동적 방법을 사용하지 않는 경우 +1. 이 2 시간 동안 좋은 시간을 보냈습니다. :한숨: – Donovan