我正在开发一个新的rails项目,并且在我的localhost开发环境中遇到这个错误时遇到了一些麻烦:
protect_from_forgery with: :exception
我的应用程序帮助文件:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
end
我有什么想法可以规避和/或解决此错误?
需要注意的是,这是在
上发生的http://localhost:3000/pages/home
但不是
这是我的应用程序跟踪:
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
答案 0 :(得分:1)
protect_from_forgery是rails功能,可以保护其他用户的未经授权的攻击。因此,如果您收到此错误,则意味着您正尝试在该页面上进行身份验证。
您可以添加skip_before_action :verify_authenticity_token
来跳过它。