ruby-on-rails – 如何为所有capybara功能设置http标头

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何为所有capybara功能设置http标头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用rspec,capybara.我从http标头中设置了语言环境,如下所示
before_filter :set_locale

  def extract_locale_from_accept_language_header
    request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first
  end

  def set_locale
    return I18n.locale = current_user.locale if user_signed_in?
    I18n.locale = extract_locale_from_accept_language_header || I18n.default_locale
  end

当我运行我的功能测试时,我得到错误’NilClass的未定义方法扫描’.
显然,水豚不设置http标头.

如何为我的所有功能设置http标头或通过其他方式避免这种情况?

解决方法

根据您的浏览器驱动程序,您可以像这样全局设置标题
Capybara.current_session.driver.headers = { 'Accept-Language' => 'de' }
  Capybara.current_session.driver.header('Accept-Language','de')
原文链接:https://www.f2er.com/ruby/269200.html

猜你在找的Ruby相关文章