小编joh*_*nml的帖子

如何处理或阻止Ruby on Rails中的"仅允许发布请求"错误?

我有一个[有点]宁静的路线设置:

map.resources :forgotten_passwords,
              :as => 'forgotten-passwords',
              :except => [:destroy, :show, :delete, :index]
Run Code Online (Sandbox Code Playgroud)
   forgotten_passwords POST   
   /forgotten-passwords(.:format) 
   {:action=>"create", :controller=>"forgotten_passwords"}

   new_forgotten_password GET    
   /forgotten-passwords/new(.:format) 
   {:action=>"new", :controller=>"forgotten_passwords"}

   edit_forgotten_password GET    
   /forgotten-passwords/:id/edit(.:format) 
   {:action=>"edit", :controller=>"forgotten_passwords"}

   forgotten_password PUT    
   /forgotten-passwords/:id(.:format) 
   {:action=>"update", :controller=>"forgotten_passwords"}

如果访问者通过GET访问/忘记密码,则会显示空白页面.然而,日志显示异常"ActionController :: MethodNotAllowed:仅允许发布请求."

在这种情况下,我想重定向到另一个操作/视图并向访问者显示一个令人愉快的错误消息.我认为访问者正在点击电子邮件中的链接,该链接会切断网址的末尾.

我意识到我可以在创建中添加GET路由,然后在控制器中处理错误,但有些东西告诉我有更好的方法.

rest ruby-on-rails

2
推荐指数
1
解决办法
2739
查看次数

标签 统计

rest ×1

ruby-on-rails ×1