mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Rails config for raise on missing translations
Add a config to setup whether raise exception for missing translation or not.
This commit is contained in:
parent
3fd6329e2b
commit
433628a45c
7 changed files with 33 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
|||
* Added `config.action_view.raise_on_missing_translations` to define whether an
|
||||
error should be raised for missing translations.
|
||||
|
||||
Fixes #13196
|
||||
|
||||
*Kassio Borges*
|
||||
|
||||
* Improved ERB dependency detection. New argument types and formattings for the `render`
|
||||
calls can be matched.
|
||||
|
||||
|
|
|
@ -153,6 +153,10 @@ module ActionView #:nodoc:
|
|||
# Specify default_formats that can be rendered.
|
||||
cattr_accessor :default_formats
|
||||
|
||||
# Specify whether an error should be raised for missing translations
|
||||
cattr_accessor :raise_on_missing_translations
|
||||
@@raise_on_missing_translations = false
|
||||
|
||||
class_attribute :_routes
|
||||
class_attribute :logger
|
||||
|
||||
|
|
|
@ -38,10 +38,10 @@ module ActionView
|
|||
|
||||
# If the user has specified rescue_format then pass it all through, otherwise use
|
||||
# raise and do the work ourselves
|
||||
if options.key?(:raise) || options.key?(:rescue_format)
|
||||
raise_error = options[:raise] || options[:rescue_format]
|
||||
else
|
||||
raise_error = false
|
||||
options[:raise] ||= ActionView::Base.raise_on_missing_translations
|
||||
|
||||
raise_error = options[:raise] || options.key?(:rescue_format)
|
||||
unless raise_error
|
||||
options[:raise] = true
|
||||
end
|
||||
|
||||
|
|
|
@ -53,6 +53,16 @@ class TranslationHelperTest < ActiveSupport::TestCase
|
|||
assert_equal false, translate(:"translations.missing", :rescue_format => nil).html_safe?
|
||||
end
|
||||
|
||||
def test_raises_missing_translation_message_with_raise_config_option
|
||||
ActionView::Base.raise_on_missing_translations = true
|
||||
|
||||
assert_raise(I18n::MissingTranslationData) do
|
||||
translate("translations.missing")
|
||||
end
|
||||
ensure
|
||||
ActionView::Base.raise_on_missing_translations = false
|
||||
end
|
||||
|
||||
def test_raises_missing_translation_message_with_raise_option
|
||||
assert_raise(I18n::MissingTranslationData) do
|
||||
translate(:"translations.missing", :raise => true)
|
||||
|
|
|
@ -386,6 +386,8 @@ encrypted cookies salt value. Defaults to `'signed encrypted cookie'`.
|
|||
|
||||
The default setting is `true`, which uses the partial at `/admin/posts/_post.erb`. Setting the value to `false` would render `/posts/_post.erb`, which is the same behavior as rendering from a non-namespaced controller such as `PostsController`.
|
||||
|
||||
* `config.action_view.raise_on_missing_translations` determines whether an error should be raised for missing translations
|
||||
|
||||
### Configuring Action Mailer
|
||||
|
||||
There are a number of settings available on `config.action_mailer`:
|
||||
|
|
|
@ -35,4 +35,7 @@ Rails.application.configure do
|
|||
# Raises helpful error messages.
|
||||
config.assets.raise_runtime_errors = true
|
||||
<%- end -%>
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
end
|
||||
|
|
|
@ -33,4 +33,7 @@ Rails.application.configure do
|
|||
|
||||
# Print deprecation notices to the stderr.
|
||||
config.active_support.deprecation = :stderr
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue