2012-04-21 5 views
0

제가 만든 Heroku 앱에 레코드를 추가 할 예정인 iPhone 클라이언트가 있습니다. 문제는 레코드가 추가되지 않는다는 것입니다.Ruby on Rails : 레코드가 추가되지 않았습니다.

이 내 레일 코드 :

Bathroom.Create(name =>params[:name], 
        :bathroomtype =>params[:bathroomtype], 
        :street =>params[:street], 
        :city =>params[:city], 
        :state =>params[:state], 
        :country =>params[:country], 
        :postal =>params[:postal], 
        :lat =>params[:lat], 
        :lon =>params[:lon], 
        :access =>params[:access], 
        :directions =>params[:directions], 
        :comment =>params[:comment], 
        :avail =>params[:avail]) 
        render :nothing => true 

초 내 테스트에서, 로컬 서버에서 작동하는 것 같았다. 그게 내가 프로덕션 데이터베이스를 공격하지 않는다고 생각하게하지만 어떻게 설정해야할지 모르겠다.

로컬에서 테스트 한 후 데이터베이스를 밀어 넣은 heroku db : push를 수행했지만 여전히 올바른 작업을 수행하고 있는지 확신 할 수 없습니다. 레코드가 작성되지 않습니다. 어댑터 : sqlite3를 데이터베이스 : DB/development.sqlite3 수영장 : 5 제한 시간 : 5000

시험 : 어댑터 : sqlite3를 데이터베이스 : DB

이 내 database.yml을

개발이다 /test.sqlite3 수영장 : 5 제한 시간 : 5000

생산 : 어댑터 : sqlite3를 데이터베이스 : db/production.sqlite3 풀 : 5 시간 초과 : 5000

그래서 코드 작성이 올바른지 혼란 스럽습니다. 그렇다면 내 항목이 데이터베이스에 표시되지 않는 이유는 무엇입니까?

도움을 주시면 감사하겠습니다.

답변

1

나에게 약간의 변화가 있으며, name은 기호 (맨 앞에 콜론이 누락 됨) 대신 맨손으로 표시되며 Createcreate이어야합니다. 디버깅의 경우 Bathroom.create(params).errors.full_messages을 확인하여 유효성 검사가 실패했는지 확인할 수 있습니다. create 대신 create!을 사용하여 "저장 실패, 예외 발생"메시지를 표시 한 다음 로그에서 로그 한 내용을 확인하십시오.