Я использую гем rack-contrib
для установки локали из заголовка HTTP_ACCEPT_LANGUAGE, поэтому мой файл config.ru
имеет
puts 'Running config.ru'
require 'rack'
require 'rack/contrib/locale'
use Rack::Locale
При работе в режиме разработки я вижу сообщение Running config.ru
, но когдаЯ запускаю rspec, я не вижу сообщения, поэтому rspec не загружает config.ru.
В режиме разработки языковой стандарт устанавливается на Rack::Locale
, как и ожидалось.Когда я запускаю этот тестовый файл, rspec spec/requests/localization_spec.rb
require 'rails_helper'
describe 'Localization' do
describe 'Setting from header' do
it 'should set the locale for french' do
header 'ACCEPT_LANGUAGE', 'fr'
gets '/'
expect(last_request.env['rack.locale']).to eq 'fr'
end
end
end
языковой стандарт не устанавливается на :fr
, и я не вижу сообщение Running config.ru
.