Flash не отображается с i18n - PullRequest
0 голосов
/ 17 февраля 2019

Мое флэш-сообщение не отображается, когда я использую i18n, но отображается, когда я просто использую строку.Это в контроллере приложения.

Это работает:

def user_not_authorized(exception)
    policy_name = exception.policy.class.to_s.underscore
    ## require 'pry'; binding.pry
flash[:alert] = "You're not invited for this event."
    redirect_to request.referrer || root_path
end

Это ничего не показывает:

def user_not_authorized(exception)
    policy_name = exception.policy.class.to_s.underscore
    ## require 'pry'; binding.pry
    flash[:error] = I18n.t "#{policy_name}.#{exception.query}", scope: 'pundit',
                       default: [:default, "I'm sorry, you're not allowed"]
    redirect_to request.referrer || root_path
end

Я пытался использовать только t вместоI18n.t но эффекта тоже нет.

При использовании pry и запуске I18n.t отображается ожидаемая строка.

Файл i18n:

pundit:
  default: "I'm sorry, but you're not allowed to see this."
  event_policy:
    show?: 'You cannot view this event. You need an invitation first.'

Что я делаю не так?

...