为什么`log / test.log`在`Redirectcted to`消息中显示`http:// www.example.com /`?

时间:2012-07-29 20:47:25

标签: ruby-on-rails ruby-on-rails-3 redirect integration-testing

如果用户未登录,我正在运行集成测试以确保我的before_filter重定向到root_path。一切似乎都正常,但我看到{{1}在http://www.example.com/中的Redirected to消息中,我只是想知道这是否正常,或者是否存在我错过的配置。谢谢!

日志/ test.log中

log/test.log

users_controller.rb

Started PUT "/users/980190963" for 127.0.0.1 at 2012-07-29 13:31:39 -0700
Processing by UsersController#update as HTML
  Parameters: {"user"=>{"password"=>"[FILTERED]"}, "id"=>"980190963"}
Redirected to http://www.example.com/
Filter chain halted as :reject_if_logged_out rendered or redirected
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)

2 个答案:

答案 0 :(得分:2)

奇怪的是,我的一些应用似乎只是这样做了。但是之前已经回答过,这是默认设置,以下是如何更改它:How do I change the default "www.example.com" domain for testing in rails?

答案 1 :(得分:1)

因为这是capybara中的默认值,黄瓜和许多其他rails测试框架使用的库。见lib/capybara.rb

Capybara.configure do |config|
  # ...
  config.default_host = "http://www.example.com"
  # ...
end

因此,如果您未在配置中指定任何其他内容,则@request.host的默认值为www.example.com