Original from here: Rails 3 route problem
Hello,
After solving the other problem with routes , now I have another one.
I have this route in my routes.rb:
match “user/create_new_password/:reset_password_key”
=>“users#create_new_password”, :via=>[:post, :get],
:as=>:create_new_password
I can test it in my functional tests like this:
test "should create new password " do
post :create_new_password,
{:user=>{:password=>“123456”, :password_confirmation=>“123456”},
:reset_password_key=>user.reset_password_key}
end
In my view, I have the following form:
=simple_form_for @user, :url=>create_new_password_path do |f|
=f.input :password, :label=>I18n.t(“activerecord.attributes.user.email”)
=f.input :password_confirmation,
:label=>I18n.t(“activerecord.attributes.user.password_confirmation”)
=f.submit I18n.t “activerecord.actions.user.create_new_password”
When I submit the form, I get:
No route matches “/user/create_new_password/
OqQxYTgjYKxXgvbAsTsWtMnIpMOpsjCRzLGZmJZLSbYtjvcvdpO”
The big string, is the reset_password_key.
I have tested it in functional tests with the same value for
reset_password_key.
The relevant output for rake routes is:
create_new_password POST|GET /user/
create_new_password/:reset_password_key(.:format)
{:controller=>“users”, :action=>“create_new_password”}
I’m missing something…