我是一般的網頁開發人員和Ruby on Rails的新手。我正在開發一個Web界面,我在同一個方法中使用'Get'和'Post'請求。當我使用get方法併發送參數(如用戶名和密碼)時,它們在url中可見。因此,下面是我所做的。我可以在rails上使用ruby獲取併發布相同的方法嗎?
form1.html.erb
<%= form_for :modify, :method => "post", :url => {:action => "method2"} do |f|%>
#code here to input username and password
<%=end%>
在我的routes.rb
我寫了下面的路線到方法2:
post 'controller/method2'
get 'controller/method2'
當我進入username and password
並點擊提交,它被找到post 'method2'
並執行控制器中的代碼,並顯示method2.html.erb
,因爲對於相同的方法存在get request
,並且還存在方法2的視圖。
但是,我懷疑這是不正確的做法。我不想讓密碼可見。我知道我有兩個選擇,在會話中存儲密碼或發送郵件請求。我不想在會話中存儲,因爲它不安全。當我編寫post方法時,頁面在用戶嘗試返回時到期。爲了防止這些情況發生,我在控制器中使用了與post相同的動作,並且現在我在URL中看不到任何參數。
請讓我知道這是不是做
我已經呈現了method2.html.erb,一切工作正常。但我不熟悉我這樣做的方式,我認爲有更好的方法可以做到與citraL在下面的答案中一樣 – user1455116 2012-07-18 15:40:32