2010-11-13 90 views
0

我使用Rails 2.3.8和Ruby 1.8.7(都通過CPanel安裝)和gem 1.3.7,我使用的是MongoDB。ActionController :: InvalidAuthenticityToken與MongoDB

嗯,我是說我想創建一個用戶(用戶級)以下錯誤:

Processing UsersController#create (for 127.0.0.1 at 2010-11-13 16:09:55) [POST] 
    Parameters: {"commit"=>"Create", authenticity_token"=>"3AdGHqazhzJUddjLDIKSNzcGTR8KN1Hh7PL+9+vrJ74=", "user"=> "name"=>"jqa"}} 

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken) 


Rendering /home/jqa/public_html/web/public/422.html (422 Unprocessable Entity) 

任何幫助嗎?在此先感謝

回答

0

您是否使用rails form helper生成註冊表單?我想不是,那就是爲什麼你會得到這個錯誤。我建議你爲表單使用form_for或form_tag方法。

你得到這個是因爲rails會生成一個真實性標記以及生成的表單,該表單會在表單提交後作爲隱藏字段返回。有了這個軌道可以假設它是來自同一個應用程序的真實請求。

如果你已經用hand crafter html生成了這個表單,這個隱藏的字段將不會在表單中出現,並且爲什麼rails會挑剔它!

+0

謝謝Selva,但我使用form_for來生成創建表單。實際上,您可以看到AuthenticyToken是通過POST傳遞的參數之一。 – joaoqalves 2010-11-14 15:19:49

+0

您是否總是或僅在某些場合纔會收到此錯誤? – Selva 2010-11-14 16:15:33

+0

我不知道。事實上,這是我在RoR + MongoDB中的第一堂課 – joaoqalves 2010-11-14 19:29:16

相關問題