2012-04-21 100 views
0

我有一個iPhone客戶端,應該將記錄添加到我製作的Heroku應用程序中。問題是沒有記錄被添加。Ruby on Rails:未添加記錄

這是我的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,但我仍然不確定自己是否正確。沒有記錄正在創建。

這是我的database.yml

發展: 適配器:sqlite3的 數據庫:DB/development.sqlite3 池:5 超時:5000

測試: 適配器:sqlite3的 數據庫:數據庫/test.sqlite3 池:5 超時:5000

生產: 適配器:sqlite3的 database:db/production.sqlite3 pool:5 timeout:5000

所以,我對創建代碼是否正確感到困惑?如果是這樣,那麼爲什麼我的條目沒有顯示在數據庫中?

任何幫助表示讚賞。

回答

1

有一些東西在我身上跳躍,name是一個裸字而不是符號(缺少前導冒號),而Create應該是create。對於調試,您可以通過查看Bathroom.create(params).errors.full_messages來檢查驗證是否失敗。您也可以使用create!而不是create來說「如果保存失敗,引發異常」,然後檢查您的日誌中是否有人死亡。