ruby-on-rails - view教程 - ruby rails介绍




如何在rspec请求规范中设置请求标头? (6)

Rack::Test::Methods使用rspec

header 'X_YOUR_HEADER_VAR', 'val'
get '/path'

标题X-Your-Header-Var将以X-Your-Header-Var

在控制器规范中,我可以像这样设置http accept头文件:

request.accept = "application/json"

但在请求规范中,“请求”对象为零。 那我该怎么做呢?

我想将http accept头部设置为json的原因是我可以这样做:

get '/my/path'

而不是这个

get '/my/path.json'

对我来说,这是简单的request.headers["My Header"] = "something"


您的问题已经得到解答,但如果您想将某些事情发布到其他操作中,您必须执行此操作:

post :save, {format: :json, application: {param1: "test", param2: "test"}}

我在Test :: Unit中使用了这个:

@request.env['HTTP_ACCEPT'] = "*/*, application/youtube-client"
get :index

我必须分开设置标题

request.headers["Accept"] = "application/json"

尝试通过get / delete / ....发送它在rails4中完成垃圾并导致头部疼痛,因为它永远不会作为头部发送,而是作为参数发送。

{"Accept" => "application/json"}

要发送两个xhr: true和头文件,我必须做的例如:

headers = { "HTTP_ACCEPT": "application/json" }
get my_path, xhr: true, headers: my_headers






rspec