Ruby on rails rails单一身份验证与编辑混合

Ruby on rails rails单一身份验证与编辑混合,ruby-on-rails,authentication,Ruby On Rails,Authentication,我有一个关于rails的问题。我正在实现一个资源。新建/创建操作已完成。现在我正在进行编辑/更新操作 我希望用户必须输入资源的密码,然后他可以编辑这些值 在两个站点上,首先“输入密码”,然后他可以更新值,或者在一个站点上,他必须输入正确的密码并可以更新值 但我不知道如何以最佳方式实现这一目标 你有什么建议吗?我还是个初学者。只是在参数中有一个:password字段。然后在控制器中,您可以执行此操作 def update raise Unauthorized unless user.authe

我有一个关于rails的问题。我正在实现一个资源。新建/创建操作已完成。现在我正在进行编辑/更新操作

我希望用户必须输入资源的密码,然后他可以编辑这些值

在两个站点上,首先“输入密码”,然后他可以更新值,或者在一个站点上,他必须输入正确的密码并可以更新值

但我不知道如何以最佳方式实现这一目标


你有什么建议吗?我还是个初学者。

只是在参数中有一个:password字段。然后在控制器中,您可以执行此操作

def update
  raise Unauthorized unless user.authenticate(params[:password])
  #normal update stuff
end 
您将加载用户并定义在这种情况下的未授权错误。如果你想走这条路,你也可以渲染并返回一个闪光

在表单中,您只需添加一个输入字段

<%= f.text_field :password %>


那么每个资源都有密码,还是说用户的密码?每个资源都有密码。没有用户。只有资源有一个。资源只是一个有密码的文本。而且只有拥有密码的人才能编辑ITI!谢谢你的回答。不,我没有使用Deave,我遵循了michael hartl的教程。他正在实现自己的身份验证系统,并使用bcrypt gem作为密码。我可能需要在一个页面上包含我的资源的所有表单更新字段和密码字段。然后,当用户编辑资源并键入密码并提交时,我的控制器必须检查密码是否正确,如果密码正确,资源将得到更新。正确吗?是的,只需添加密码字段,然后在更新资源之前检查它是否正确。