Невозможно изменить локаль для приложения rails, когда работа в Heroku хорошо работает в разработке - PullRequest
0 голосов
/ 03 мая 2011

У меня есть двуязычное приложение в разработке.Я могу изменить локаль на английский в разработке, передавая? Locale = en, она работает в разработке, но не в heroku.

С помощью регистратора, который я вставил ниже, я могу сказать, что локаль на самом деле меняется, но весь контент выводитсяв локали по умолчанию

application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_locale

  def set_locale    
    if %w(en pt-BR).include? params[:locale]
      I18n.locale = params[:locale].to_sym
    end
    logger.info I18n.locale
  end
end

config / application.rb

config.i18n.default_locale = :'pt-BR'
config.i18n.locale = :'pt-BR'

1 Ответ

1 голос
/ 04 мая 2011

Попробуйте это

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_locale

  protected    
  def set_locale
    if params[:locale].blank?
      I18n.locale = :'pt-BR'
    else
      I18n.locale = params[:locale]
    end
  end   

  # ensure locale persists
  def default_url_options(options={})
    {:locale => I18n.locale}
  end
end

и в rout.rb

  scope "(:locale)", :locale => /pt-BR|en/ do
    resources :products  # update this!
  end

Чувствуется чище и маршрутизация типа domain.tld/:locale/.

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