好的,我在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之间的路由差异,我真的只是在猜测需要去哪里。知道如何让这个工作吗?
答案 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}