2010-03-26 86 views
0

这已经有一段时间,因为我浸在Ruby on Rails和我有一个艰难的时间将数据传输到我的模型,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/

回答

1

它可能不是路过的验证,和你的控制器不检查,如果保存失败。

此外,你发布了一个索引日志,但不适用于创建...但索引是错误的,啊哈!它没有运行创建方法。可能是路由问题。啊是的,你有你的map.resources 默认的路由语句。这两条线应该是文件中的最后几行,如果使用的:

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

你为什么不使用资源发电机为你写一个默认的支架?从已经有效的例子中学习更容易。 :)

+0

eureka!现在工作很好,认为这可能是我的路线订购,我只是不知道是什么。 我更喜欢做它从零开始的艰难的方式,迫使我学习如何做事情,就像这里我现在知道如何使用正确的路线:) – Alex 2010-03-26 17:22:03

1

看起来像你提交表单索引,而不是创建。尝试重新排列您的routes.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'