gpt4 book ai didi

ruby-on-rails - 在路由规范中指定默认格式

转载 作者:行者123 更新时间:2023-12-04 12:34:14 25 4
gpt4 key购买 nike

我有以下 rspec 路由规范,但我需要指定 :defaults => { :format => 'json' }在文中;我该怎么做?

规范:

it "should route to all-locations-nav" do
{:post => locations_nav_path }.should route_to(:controller => "api", :action => "locations_nav")
end

编辑 #1
所以玩,看起来像这样修复它:
it "should route to all-locations-nav" do
{:post => locations_nav_path }.should route_to(:controller => "api", :action => "locations_nav", :format => "json")
end

但是很好奇这是否在任何地方都有记录?

最佳答案

只需像这样在规范中设置格式...

it "routes to #create" do
expect(:post => "/post").to route_to("posts#create", :format => :json)
end

长解释...

您看到的行为并非特定于 :format ,而是您在 rake routes 中看到的符号之间的关系以及您传递给 route_to 的符号.

例如,鉴于您上面的示例,当您运行 rake routes 时,我希望类似以下内容:
locations_nav POST /api/locations_nav(.:format) api#locations_nav :controller:action未在 rake routes 中明确标记响应,因为这些内置于 Rails 的 MVC 结构中,但 :format显式显示,并传递 :formatroute_to涉足这一点。例如 ...

同样,您可能会看到一些 :id您的 rake routes 中的引用输出,这将通过传递 :id 来利用 route_to 的参数.

有关 RSpec 中路由的一些其他示例可以在 "rspec-rails" documentation 中看到。 .

在内部,RSpec 的 route_to Rails 的代表 assert_recognizes ,您可以在 Rails documentation 中看到记录.

关于ruby-on-rails - 在路由规范中指定默认格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925580/

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