繁体   English   中英

Ruby on Rails没有将记录添加到数据库

[英]Ruby on Rails not adding record to database

自从我接触Ruby on Rails以来已经有一段时间了,我很难将数据输入到我的模型中,

这是我提交表单时服务器所说的:

Processing ScoresController#index (for 127.0.0.1 at 2010-03-26 15:31:44) [POST]
  Parameters: {"commit"=>"Add", "authenticity_token"=>"326dd05ffa596bfa12ec3ebb6f48933dbad8dc0c", "score"=>{"name"=>"third score", "score"=>"4"}}
  Score Load (0.5ms)   SELECT * FROM "scores" ORDER BY score DESC
Rendering scores/index
Completed in 5ms (View: 2, DB: 0) | 200 OK [http://0.0.0.0/scores]

但是记录没有添加到数据库中,我知道这确实是很简单的东西,但是我为为什么不起作用而感到困惑!

您可以在我的github上查看源代码: http : //github.com/AlexEdwardFish/Scores/tree/master/app/

它可能没有通过验证,并且您的控制器不检查保存是否失败。

另外,您为索引发布了日志,但没有为创建...发布日志,但是为索引发布了错误的日志,啊哈! 它没有运行create方法。 可能是路由问题。 是的,您在默认的路由语句之后有了map.resources。 如果完全使用,这两行应该是文件中的最后一行:

map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

您为什么不使用资源生成器为您编写默认支架? 从一个已经有效的示例中学习将容易得多。 :)

看起来您要提交要索引的表单而不是创建表单。 尝试重新排列您的route.rb文件。 优先级基于创建,因此顺序应该是map.resources,map.root,然后是map.connect行。

map.resources :scores
map.root :controller => "scores"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM