2010-03-26 84 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'