ビューで次のコードを検討してください。
<%= link_to 'Delete!', item , :confirm => t('action.item.confirm_deletion'), :method => :delete %>
通常は次のようになります。
<a href="/items/123" data-confirm="Confirm deletion?" data-method="delete" rel="nofollow">Delete!</a>
しかし、action.item.confirm_deletionの翻訳が何らかの理由 (不完全な yml ファイル、タイプミスなど) で欠落している場合、次のようになります。
<a href="/items/123" data-confirm="<span class="translation_missing" title="translation missing: sv.action.item.confirm_deletion">Confirm Deletion</span>" data-method="delete" rel="nofollow">Delete!</a>
これは無効な html であり、ユーザーはホームページに壊れた html タグが表示されます。場合によっては、セキュリティ上のリスクになることもあります。
I18n.t 関数を呼び出すたびにエスケープを適用できることはわかっていますが、それはタスクにとって不必要に繰り返されるように感じます。
私の質問は次のとおりです。「翻訳がありません」というメッセージに HTML コードが含まれないようにする方法はありますか。