Routes 如何使用控制器中的方法将rubyonrails链接到
我使用bcrypt ruby进行密码加密。在gem的文档中,他们给出了一个允许某人重置密码的操作。我正在努力实施这一行动 我在登录页面上添加了以下代码:Routes 如何使用控制器中的方法将rubyonrails链接到,routes,ruby-on-rails-3.2,ruby-1.9.3,Routes,Ruby On Rails 3.2,Ruby 1.9.3,我使用bcrypt ruby进行密码加密。在gem的文档中,他们给出了一个允许某人重置密码的操作。我正在努力实施这一行动 我在登录页面上添加了以下代码: <p>Forgot your Password? <%= link_to "Click to reset your password", forgot_password_session_path, confirm: "Do you really want to reset your password?" %></p
<p>Forgot your Password? <%= link_to "Click to reset your password", forgot_password_session_path, confirm: "Do you really want to reset your password?" %></p>
以下是config/routes.db中的定义:
resources :sessions do
member do
get "forgot_password"
end
end
以下是rake路由的输出:
forgot_password_session GET /sessions/:id/forgot_password(.:format) sessions#forgot_password
当我尝试单击登录链接上的链接时,出现以下错误:
没有路由匹配{:操作=>“忘记密码”,:控制器=>“会话”}
我不知道它怎么说没有路线匹配,当它看起来匹配的时候。我已经重新启动了rails服务器&spork,但仍然收到错误。我不知道下一步该怎么办
任何帮助都将不胜感激
更新日期:2012年5月26日上午9:14 GMT-6:00:
我改为POST,重新启动了rails服务器&Spork。我也犯了同样的错误。这是我在服务器上的日志:
在2012-05-26 09:13:36-0500开始获取127.0.0.1的“登录”
SessionController处理#新为HTML
布局/应用程序中的渲染会话/new.html.erb(112.4ms)
在116ms内完成500个内部服务器错误
以下是rake路由信息:
forgot_password_session POST /sessions/:id/forgot_password(.:format) sessions#forgot_password
它可能需要是一个POST请求。当我参加rails课程时,内联链接调用并不一致。出现该错误的原因是路由文件配置为GET,而不是POST。只是黑暗中的一个镜头,但尝试添加相同的行,但有一个帖子。我再次尝试,但没有成功。我用更多信息更新了我的描述。看起来需要更多的代码,或者可能需要更改某个地方的设置。我又看了一眼rakeroutes语句。它看起来像是在寻找会话/id/U密码路径。我在登录页面上有链接。由于尚未单击登录按钮,因此此时没有会话id。我将把程序移动到application_controller.rb,并将电子邮件或用户名传递给它,然后重试。我将发布一个更新我的结果。对不起,它没有帮助。。。有疑问的时候!?我真的不知道,对不起,没问题。我将在另一个时间重新讨论这个问题。我有一些更多的任务,我将尝试这个项目。至少我正在获得更多的知识。非常感谢。
forgot_password_session POST /sessions/:id/forgot_password(.:format) sessions#forgot_password