2014-04-01 21 views
1

在我的Rails應用程序的密碼,我有一個登錄頁面是這樣的:的用戶名和URL中出現

<body> 
    <form action="/my_app/homepage" method="get" class="navbar-form pull-left"> 
    <input name="username" type="text" class="span2"> 
    <input name="password" type="password" class="span2"> 
    <button type="submit" class="btn">Submit</button> 
    </form> 
</body> 

當我點擊Submit按鈕,它帶我到/my_app/homepage,但同時它也在地址欄中顯示用戶名和密碼。

我在做錯誤的方式嗎?我怎樣才能避免顯示用戶名爲&的密碼?

+2

請仔細閱讀HTTP方法GET和POST之間的區別是什麼...... – CBroe

+0

您不應該在rails上使用ruby構建自己的窗體。這個html特別與rails無關。 – Senjai

+0

@CBroe:我嘗試使用POST,但它會引發錯誤。 –

回答

2

這是因爲形成了HTTP請求方法是GET。哪個會始終在URL中顯示錶單數據。要隱藏表單的數據,您需要使用POST請求。

更改代碼如下:

<form action="/my_app/homepage" method="post" class="navbar-form pull-left"> 
    <input name="username" type="text" class="span2"> 
    <input name="password" type="password" class="span2"> 
    <button type="submit" class="btn">Submit</button> 
</form> 

檢查method="post",你會得到的URL不作任何類型的查詢字符串。

+0

該表格明確GET,所以它不是一個默認的問題。 – Quentin

+0

@Quentin,是的,我已經更新了。直到那時,我還沒有閱讀這個方法.. –

+0

@AzazaAhmadZeeshan:但是當我將它改爲'method =「post」'時,它會拋出路由錯誤。 –