使用RESTful身份验证更改密码

时间:2011-11-03 21:16:13

标签: ruby-on-rails-3 restful-authentication

好的,我在RESTful身份验证方面取得了相对成功。我跟着this tutorial添加了更改密码的功能。问题是教程是为rails 2.3编写的,而我正在使用rails 3。

我的控制器和视图中使用的代码与in the tutorial

完全相同

我添加到routes.rb:

  match '/change_password' => 'users#change_password', :as => :change_password
  resources :users, :controller => 'users', :collection => {:change_password_update => :put}

现在我收到此错误:未定义的方法`change_password_update_user_path'

对教程的评论提到了确切的错误,并且他们说解决方案在路由中,但考虑到2.3和3之间的路由差异,我真的只是在猜测需要去哪里。知道如何让这个工作吗?

1 个答案:

答案 0 :(得分:0)

我所要做的就是改变

<% form_tag change_password_update_user_path(current_user), :method => :put do |f| %>

<% form_tag '/change_password_update', :method => :put do |f| %>

并将其放入我的routes.rb

match '/change_password' => 'users#change_password', :as => :change_password
match '/change_password_update' => 'users#change_password_update', :as => :change_password_update
resources :users, :controller => 'users', :collection => {:change_password_update => :put}