0

我是 web 开发的新手,特别是 ruby​​ on rails。我正在开发一个 Web 界面,我在同一方法上使用“获取”和“发布”请求。当我使用 get 方法并发送参数(如用户名和密码)时,它们在 url 中可见。因此,以下是我所做的。

form1.html.erb

<%= form_for :modify, :method => "post", :url => {:action => "method2"} do |f|%>
#code here to input username and password
<%=end%>

在我的 routes.rb 中,我为 method2 编写了以下路由:

post 'controller/method2'
get 'controller/method2'

当我输入username and password并单击提交时,它会post 'method2'在控制器中找到并执行代码,并显示method2.html.erb为相同的方法有一个get request,并且方法2 也有一个视图。

但是,我怀疑这不是正确的方法。我不希望密码可见。我开始知道我有两个选择,将密码存储在会话中或发送发布请求。我不想存储在会话中,因为它不安全。当我写一个 post 方法时,当用户试图回来时页面过期。为了防止其中任何一种发生,我在控制器中使用了与 post 和 get 相同的操作,现在我在 url 中看不到任何可见的参数。

如果这不是正确的方法,请告诉我

4

2 回答 2

3

如果您想要一种操作用户和密码的可靠方法,我建议您阅读Ruby on Rails 教程,这是一个很好的教程,它将向您学习 Rails 编程的基础知识,包括安全的用户名/密码使用。

或者,您可以使用Devise,这是用于此目的的非常流行的 gem。

如果不知道您在做什么,我不会尝试实施安全的用户/密码系统...

于 2012-07-18T15:34:41.247 回答
0

在你的控制器中,你应该有这个:

render 'controller/method2'

你应该在这个路径中有一个文件:

app/views/controller/method2.html.erb

你不需要有两条路线。

于 2012-07-18T15:35:23.467 回答