После решения другой проблемы с маршрутами у меня появилась еще одна.
У меня есть этот маршрут в моих маршрутах.rb:
match "user/create_new_password/:reset_password_key" =>"users#create_new_password", :via=>[:post, :get], :as=>:create_new_password
Я могу проверить это в своих функциональных тестах следующим образом:
test "should create new password " do
post :create_new_password, {:user=>{:password=>"123456", :password_confirmation=>"123456"}, :reset_password_key=>user.reset_password_key}
end
На мой взгляд, у меня есть следующая форма:
=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"
Когда я отправляю форму, я получаю:
No route matches "/user/create_new_password/OqQxYTgjYKxXgvbAsTsWtMnIpMOpsjCRzLGZmJZLSbYtjvcvdpO"
Большая строка — это ключ reset_password_key.
Я протестировал его в функциональных тестах с тем же значением для reset_password_key.
Соответствующий вывод для rake-маршрутов:
create_new_password POST|GET /user/create_new_password/:reset_password_key(.:format) {:controller=>"users", :action=>"create_new_password"}
Я что-то упускаю...
config/routes.rb
файла? Спасибо и удачи! - person Michelle Tilley   schedule 10.02.2011