protect_from_forgery with :: exception rails 5

时间:2017-12-13 00:12:23

标签: ruby-on-rails ruby localhost

我正在开发一个新的rails项目,并且在我的localhost开发环境中遇到这个错误时遇到了一些麻烦:

protect_from_forgery with: :exception

我的应用程序帮助文件:

 class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
end

我有什么想法可以规避和/或解决此错误?

需要注意的是,这是在

上发生的
http://localhost:3000/pages/home

但不是

http://localhost:3000

这是我的应用程序跟踪:

artwe@DESKTOP-9MER9I4 /c/sites/cookies (master)
$ rails --trace
** Invoke default (first_time)
** Invoke test (first_time)
** Execute test
** Execute default
Run options: --seed 1992

# Running:

E

Error:
PagesControllerTest#test_should_get_home:
AbstractController::Helpers::MissingHelperError: Missing helper file helpers/c:/sites/cookies/app/helpers/application_helper.rb_helper.rb
    app/controllers/application_controller.rb:1:in `<top (required)>'
    app/controllers/pages_controller.rb:1:in `<top (required)>'
    test/controllers/pages_controller_test.rb:5:in `block in <class:PagesControllerTest>'


bin/rails test test/controllers/pages_controller_test.rb:4



Finished in 1.552152s, 0.6443 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 1 errors, 0 skips

1 个答案:

答案 0 :(得分:1)

protect_from_forgery是rails功能,可以保护其他用户的未经授权的攻击。因此,如果您收到此错误,则意味着您正尝试在该页面上进行身份验证。 您可以添加skip_before_action :verify_authenticity_token来跳过它。