gpt4 book ai didi

ruby-on-rails - 将 Rack 应用程序与 Rails 和 Rspc 一起使用时没有路由匹配

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:47 25 4
gpt4 key购买 nike

自从将一些代码移到我的 Rails 代码中的 Rack 应用程序后,我一直遇到 Controller 规范的问题。这些路由在作为服务器运行时完美运行,而不是通过 Rspec。

这是我的路线定义:

match ':username', to: Rack::CatchAllRouter.new, constraints: { format: 'html' }, via: [:get, :put, :patch]

以下代码是我的 Controller 规范:

describe UsersController do
describe "#show" do
subject { get :show, username: 'test-user' }
it { is_expected.to be_successful }
it { is_expected.to render_template('users/show') }
end
end

我收到的错误如下:

No route matches {:action=>"show", :controller=>"users", :username=>"test-user"}

我不明白为什么这必须通过路由器,因为这应该只测试 Controller 而不是通过整个请求设置。

我也可以通过请求规范和构建 URL 来实现它,而不是 Controller 规范。

最佳答案

可能你在路由中的参数与你在规范中发送的参数不匹配

关于ruby-on-rails - 将 Rack 应用程序与 Rails 和 Rspc 一起使用时没有路由匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31390616/

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