2011-09-12 83 views
2

我不是一個真正的Rails開發人員,我正在處理別人的代碼。如何在Rails中訪問POST變量?

無論如何,我試圖改變登錄功能,以便它使用POST而不是GET。現在它看起來是這樣的:

def login 
    email = params[:email]; 
    password = params[:password]; 
    # login logic ... 
end 

什麼我需要改變使用POST變量呢?

編輯:的是,在routes.rb

match "service/login", :to => "service#login" 

看了相關的,如果有別的我在尋找什麼東西,請讓我知道線。

+2

這並不是說你必須改變控制器使用:method => :post,但路線(在'配置/ routes.rb')。 –

+0

請顯示config/routes.rb中存在的內容,特別是用戶有任何行。另外,請告訴我們您使用的是哪個版本的rails(例如2.3.8或3.0)(查看根目錄[v3]或config/environment.rb [v2]的Gemfile)。如果你可以進入rails命令行,例如腳本/導軌控制檯[v3]或腳本/控制檯[v2],然後'Rake routes'whoch顯示所有的路線,這太令人難以置信了。 –

+0

btw您可以通過GET或POST訪問變量您的問題是否存在更大的原因?安全也許(我猜,爲了避免u/p在URL中)? –

回答

1

變化:

match "service/login", :to => "service#login" 

到:

match "service/login", :to => "service#login", :via => :post 

或(短):

post "service/login" 
1

請試試這個:

match "service/login", :to => "service#login", :via => :post 

,不要忘記你的登錄表單:)