В моей config.routes.rb
файле:Как настроить тесты rspec для использования стандартной локали в Rails?
scope '(:locale)' do
resources :techniques, path: '/applications' do
get '/complete_list' => 'techniques#complete_list'
end
end
В моих Gemfile
:
group :development, :test do
gem 'rspec-rails'
gem 'byebug'
gem 'better_errors'
gem 'factory_girl_rails'
gem 'faker'
end
group :test do
gem 'poltergeist'
gem 'capybara'
gem 'launchy'
gem 'database_cleaner'
end
В моих application_controller.rb
:
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options = {})
{ locale: I18n.locale }.merge options
end
В моей спецификации:
visit techniques_path
Он всегда терпит неудачу с:
I18n::InvalidLocale - "applications" is not a valid locale:
И он выделяет эту строку в моей application_controller:
I18n.locale = params[:locale] || I18n.default_locale
я могу сделать вещи работать путем изменения спецификации читать как:
visit techniques_path(locale: :en)
Но я думал, что настройка default_url_options в контроллере приложения позаботится об этом автоматически. Что мне здесь не хватает?