gpt4 book ai didi

ruby-on-rails - 使用 Rspec、Capybara 等进行测试时如何解决 Rails 语言环境问题?

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

应用程序有效,但路由不匹配。有些以“/en”开头,有些则没有。我正在剥离我的应用程序 Controller 中的“/en”部分,但它出现在测试中的 url 帮助程序中:

Expected response to be a redirect to <http://test.host/outgoing> but was a redirect to <http://test.host/en/outgoing>.
Expected "http://test.host/outgoing" to be === "http://test.host/en/outgoing".

尝试将 default: { locale: :en} 添加到 routes.rb(剧透:坏主意,不要那样做)。测试通过,但在实际应用中有一半的路由缺少语言环境。

最佳答案

这有帮助:https://gist.github.com/firedev/8541276

# spec/support/routing_helper.rb

class ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
def call(t, args)
t.url_for(handle_positional_args(t, args, { locale: nil }.merge( @options ), @segment_keys))
end
end

locale: nil 从生成的路径中去除语言环境位,因此它们对于帮助程序和应用程序生成的路径都是统一的。

关于ruby-on-rails - 使用 Rspec、Capybara 等进行测试时如何解决 Rails 语言环境问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261453/

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