我有一个iPhone客户端应该将记录添加到我制作的Heroku应用程序中。问题是没有添加记录。
这是我的导轨代码:
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 数据库:db / test.sqlite3 游泳池:5 超时:5000
生产: 适配器:sqlite3 数据库:db / production.sqlite3 游泳池:5 超时:5000
所以,我对创建代码是否正确感到困惑?如果是这样,那么为什么我的条目没有显示在数据库中?
任何帮助表示赞赏。
答案 0 :(得分:1)
有些事情在我身上跳跃,name
是一个简单的词而不是一个符号(缺少前导冒号),而Create
应该是create
。对于调试,您可以通过查看Bathroom.create(params).errors.full_messages
来检查验证是否失败。您还可以使用create!
代替create
来说“如果保存失败,引发异常”,然后检查日志中的死亡情况。