Rails 5 - Как я могу запретить Rails добавлять локаль в URL на созданных путях? - PullRequest
0 голосов
/ 18 ноября 2018

После обновления до Rails 5.2, (edit: using "5.2.0.rc1") теперь у меня добавляется ?locale=en в мои URL, когда я использую путь, построенный из path_helper (например, login_path). Как мне остановить Rails от добавления локали в мои URL? Они мне никогда не нужны.

Мой контроллер:

`` ` # Home_controller.rb

def index
    redirect_to login_path
end

`` `

Application.rb

`` `

require_relative 'boot'

require 'rails/all'

Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application
    config.assets.initialize_on_precompile = false

    config.generators do |g|
       g.fixture_replacement :rspec
       g.fixture_replacement :factory_bot
    end
  end
end

`` `

Что происходит:

Он перенаправляет меня на localhost:3000/login?locale=en

1 Ответ

0 голосов
/ 18 ноября 2018

Кажется, что где-то вдоль линии в Rails 5 path_helper регрессировал, чтобы больше не пропускать необязательные параметры, такие как locale, при построении URL. Единственное, что нужно сделать, это дождаться PR, чтобы это исправить. Похоже, было сделано много, но неясно, были ли они объединены или существует ли исправление в 5.2.1

https://github.com/rails/rails/pull/32526

https://github.com/rails/rails/pull/32382

https://github.com/rails/rails/pull/33846

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...