We were already using `find_by` most of the time. Since there are false positives related to our `find_by_slug_or_id!` and `find_by_manger_login` methods, which cannot be replaced with `find_by`, I'm adding it indicating the "refactor" severity.
20 lines
564 B
Ruby
20 lines
564 B
Ruby
require "i18n/exceptions"
|
|
require "action_view/helpers/tag_helper"
|
|
|
|
module ActionView
|
|
module Helpers
|
|
module TranslationHelper
|
|
include TagHelper
|
|
|
|
def t(key, options = {})
|
|
current_locale = options[:locale].presence || I18n.locale
|
|
|
|
i18_content = I18nContent.find_by(key: key)
|
|
translation = I18nContentTranslation.where(i18n_content_id: i18_content&.id,
|
|
locale: current_locale).first&.value
|
|
translation.presence || translate(key, options)
|
|
end
|
|
end
|
|
end
|
|
end
|