gpt4 book ai didi

ruby-on-rails - 当内容是 html_safe 时,测试 View 会呈现已翻译的内容?

转载 作者:行者123 更新时间:2023-11-28 20:15:59 25 4
gpt4 key购买 nike

一直在尝试找出如何编写一个测试来测试当内容是带有 html 的翻译键时 View 呈现正确的内容。为了更详细地解释一点,我有这个 rspec 测试:

require 'spec_helper'
describe "application/error_404.html.erb" do
I18n.available_locales.each do |locale|
it "should have 'not found text' in #{locale}" do
I18n.locale = locale
render
rendered.should have_content I18n.t(:not_found_html)
end
end
end

测试它是否为我可用的每个语言环境呈现 :not_found_html。但是测试失败了,因为它寻找一个没有 html 的字符串:

Failure/Error: rendered.should have_content I18n.t(:not_found_html)
expected there to be content "Could not find the page or item you tried to view.
Please try again and if the problem persists please <a href=\"%{contact_link} \">let us
know</a> so we can fix this."
in
"\n\t\n\t\t\tNot found\n\t\t\n\t\n\t\t\t\n\t\t\t\tCould not find the page or item you tried
to view. Please try again and if the problem persists please let us know so we can fix
this.\n\t\t\t\t\n\t\t\n\t"

我对 Rails 的了解还不够多,无法知道如何进行这项工作。我想我需要某种方式来呈现 I18n 字符串吗?对此的任何帮助将不胜感激。

最佳答案

I18n.t(:not_found_html) 只呈现字符串。

你可以这样做:

I18n.available_locales.each do |l| 
I18n.locale = l
I18n.translate! :not_found_html
end

如果找不到,它会引发 I18n::MissingTranslationData。

关于ruby-on-rails - 当内容是 html_safe 时,测试 View 会呈现已翻译的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com