簡體   English   中英

避免錯誤:缺少此請求格式和變體的模板

[英]avoiding the error: missing a template for this request format and variant

我的 ruby on rails 應用程序的端點位於http://localhost:3000/searches/new 當我在那里瀏覽瀏覽器時,一切都很好。 但是當我導航到http://localhost:3000/searches/new.json時,它會引發此錯誤,導致 http-500: SearchesController#new is missing a template for this request format and variant. request.formats: ["application/json"] request.variant: [] SearchesController#new is missing a template for this request format and variant. request.formats: ["application/json"] request.variant: []

我怎樣才能讓它停止這樣做? 我希望它像其他不退出的資源請求一樣返回 404。

更理論上,似乎 ruby on rails 將 URI 路徑末尾的擴展視為某種格式說明符。 這只是 Ruby on Rails 約定嗎? 或者是否有一些我不知道的 URI 或 REST 規范的晦澀條款?

我在 Rails 5.2 上使用 ruby

真奇怪。 當我 append '.json' 到路徑末尾時,某些端點返回 406。 其他,500。這是后者的堆棧跟蹤。

I, [2020-06-16T06:10:06.410101 #2816]  INFO -- : Processing by WelcomeController#talent as JSON
D, [2020-06-16T06:10:06.426042 #2816] DEBUG -- :   User Load (1.1ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
D, [2020-06-16T06:10:06.434018 #2816] DEBUG -- :   Private::Conversation Load (0.9ms)  SELECT "private_conversations".* FROM "private_conversations" WHERE ("private_conversations"."recipient_id" = $1 OR "private_conversations"."sender_id" = $2)  [["recipient_id", 81], ["sender_id", 81]]
D, [2020-06-16T06:10:06.435528 #2816] DEBUG -- :   Group::Conversation Load (0.7ms)  SELECT "group_conversations".* FROM "group_conversations" INNER JOIN "group_conversations_users" ON "group_conversations"."id" = "group_conversations_users"."conversation_id" WHERE "group_conversations_users"."user_id" = $1  [["user_id", 81]]
D, [2020-06-16T06:10:06.437254 #2816] DEBUG -- :    (0.6ms)  SELECT "group_conversations"."id" FROM "group_conversations" INNER JOIN "group_conversations_users" ON "group_conversations"."id" = "group_conversations_users"."conversation_id" WHERE "group_conversations_users"."user_id" = $1  [["user_id", 81]]
D, [2020-06-16T06:10:06.439379 #2816] DEBUG -- :   CACHE  (0.1ms)  SELECT "group_conversations"."id" FROM "group_conversations" INNER JOIN "group_conversations_users" ON "group_conversations"."id" = "group_conversations_users"."conversation_id" WHERE "group_conversations_users"."user_id" = $1  [["user_id", 81]]
E, [2020-06-16T06:10:06.448074 #2816] ERROR -- : Traceback (most recent call last):
    96: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/puma-4.3.3/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
    95: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/puma-4.3.3/lib/puma/server.rb:328:in `block in run'
    94: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/puma-4.3.3/lib/puma/server.rb:472:in `process_client'
    93: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/puma-4.3.3/lib/puma/server.rb:682:in `handle_request'
    92: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/puma-4.3.3/lib/puma/configuration.rb:228:in `call'
    91: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.2/lib/rails/engine.rb:524:in `call'
    90: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-cors-1.1.1/lib/rack/cors.rb:100:in `call'
    89: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-mini-profiler-2.0.1/lib/mini_profiler/profiler.rb:312:in `call'
    88: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call'
    87: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/static.rb:127:in `call'
    86: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/executor.rb:14:in `call'
    85: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
    84: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call'
    83: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call'
    82: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/request_id.rb:27:in `call'
    81: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/request_store-1.5.0/lib/request_store/middleware.rb:19:in `call'
    80: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
    79: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.2/lib/rails/rack/logger.rb:26:in `call'
    78: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/tagged_logging.rb:71:in `tagged'
    77: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/tagged_logging.rb:28:in `tagged'
    76: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/tagged_logging.rb:71:in `block in tagged'
    75: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.2/lib/rails/rack/logger.rb:26:in `block in call'
    74: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/railties-5.2.4.2/lib/rails/rack/logger.rb:38:in `call_app'
    73: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
    72: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
    71: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/better_errors-2.7.0/lib/better_errors/middleware.rb:57:in `call'
    70: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/better_errors-2.7.0/lib/better_errors/middleware.rb:79:in `better_errors_call'
    69: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/better_errors-2.7.0/lib/better_errors/middleware.rb:84:in `protected_app_call'
    68: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/executor.rb:14:in `call'
    67: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
    66: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/callbacks.rb:98:in `run_callbacks'
    65: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
    64: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.2/lib/active_record/migration.rb:559:in `call'
    63: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/middleware/cookies.rb:670:in `call'
    62: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:260:in `call'
    61: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:266:in `context'
    60: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
    59: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/head.rb:12:in `call'
    58: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/conditional_get.rb:27:in `call'
    57: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/etag.rb:27:in `call'
    56: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-2.2.2/lib/rack/tempfile_reaper.rb:15:in `call'
    55: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/warden-1.2.8/lib/warden/manager.rb:34:in `call'
    54: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/warden-1.2.8/lib/warden/manager.rb:34:in `catch'
    53: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/warden-1.2.8/lib/warden/manager.rb:36:in `block in call'
    52: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/remotipart-1.4.4/lib/remotipart/middleware.rb:32:in `call'
    51: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
    50: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
    49: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/rack-pjax-1.1.0/lib/rack/pjax.rb:12:in `call'
    48: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/routing/route_set.rb:840:in `call'
    47: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/journey/router.rb:35:in `serve'
    46: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/journey/router.rb:35:in `each'
    45: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/journey/router.rb:52:in `block in serve'
    44: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/routing/route_set.rb:34:in `serve'
    43: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
    42: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal.rb:252:in `dispatch'
    41: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal.rb:191:in `dispatch'
    40: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/rendering.rb:32:in `process'
    39: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/abstract_controller/base.rb:134:in `process'
    38: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.2/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
    37: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
    36: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
    35: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/notifications.rb:168:in `instrument'
    34: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    33: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/notifications.rb:168:in `block in instrument'
    32: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
    31: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/rescue.rb:22:in `process_action'
    30: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/abstract_controller/callbacks.rb:41:in `process_action'
    29: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/callbacks.rb:132:in `run_callbacks'
    28: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
    27: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/rendering.rb:30:in `process_action'
    26: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/abstract_controller/base.rb:194:in `process_action'
    25: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
    24: from /ch/app/controllers/welcome_controller.rb:13:in `talent'
    23: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/remotipart-1.4.4/lib/remotipart/render_overrides.rb:23:in `render'
    22: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:45:in `render'
    21: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/sunspot_rails-2.5.0/lib/sunspot/rails/railties/controller_runtime.rb:15:in `cleanup_view_runtime'
    20: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activerecord-5.2.4.2/lib/active_record/railties/controller_runtime.rb:31:in `cleanup_view_runtime'
    19: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
    18: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:46:in `block in render'
    17: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/core_ext/benchmark.rb:14:in `ms'
    16: from /Users/makedon/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
    15: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.4.2/lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
    14: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render'
    13: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/rendering.rb:36:in `render'
    12: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/abstract_controller/rendering.rb:25:in `render'
    11: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/renderers.rb:142:in `render_to_body'
    10: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
     9: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/rendering.rb:84:in `render_to_body'
     8: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionpack-5.2.4.2/lib/action_controller/metal/streaming.rb:219:in `_render_template'
     7: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/rendering.rb:103:in `_render_template'
     6: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/renderer/renderer.rb:25:in `render'
     5: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/renderer/renderer.rb:44:in `render_template'
     4: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/renderer/template_renderer.rb:10:in `render'
     3: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/renderer/template_renderer.rb:40:in `determine_template'
     2: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/renderer/abstract_renderer.rb:20:in `find_template'
     1: from /Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/lookup_context.rb:116:in `find'
/Users/makedon/.rvm/gems/ruby-2.6.5/gems/actionview-5.2.4.2/lib/action_view/path_set.rb:48:in `find': Missing template welcome/talent, application/talent with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :haml]}. Searched in: (ActionView::MissingTemplate)
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/bh-1.3.6/lib/bh/views"
  * "/ch/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/twitter-bootstrap-rails-4.0.0/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/rails_admin_mydash-0.1.8/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/bundler/gems/rails_admin-782d4ddac486/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/mailboxer-0.15.1/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/kaminari-core-1.2.0/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/devise_invitable-1.7.5/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/devise-4.7.1/app/views"

I, [2020-06-16T06:10:06.449514 #2816]  INFO -- : Completed 500 Internal Server Error in 39ms (ActiveRecord: 3.3ms)


F, [2020-06-16T06:10:06.461776 #2816] FATAL -- : 
ActionView::MissingTemplate - Missing template welcome/talent, application/talent with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :haml]}. Searched in:
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/bh-1.3.6/lib/bh/views"
  * "/ch/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/twitter-bootstrap-rails-4.0.0/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/rails_admin_mydash-0.1.8/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/bundler/gems/rails_admin-782d4ddac486/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/mailboxer-0.15.1/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/kaminari-core-1.2.0/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/devise_invitable-1.7.5/app/views"
  * "/Users/makedon/.rvm/gems/ruby-2.6.5/gems/devise-4.7.1/app/views"
:
  app/controllers/welcome_controller.rb:13:in `talent'

I, [2020-06-16T06:10:06.652543 #2816]  INFO -- : Started POST "/__better_errors/377e20f2e19f9287/variables" for 127.0.0.1 at 2020-06-16 06:10:06 -0700

不是這個答案。 這導致發現了一個不同的根本問題。 看另一個答案

您應該能夠在您的應用程序 controller 中編寫自己的default_render方法來覆蓋缺失格式的處理方式。

You can see how the behaviour was changed in the ActionController (which your application controller inherits) code base to change the default behaviour here https://github.com/rails/rails/commit/0de4a23d1cfa6ef44a27ac8aca5055487282460e Here they are changing the behaviour to render a狀態 204,但這應該為如何使用 404 響應提供靈感。

這是最新版本的動作 controller 以及它如何處理丟失的格式https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/implicit_render.rb#L33一定要閱讀文檔也在 class 的頂部。

但是,我不得不問——為什么?

我認為當前版本的 rails 會返回 406 狀態碼——這是 HTTP 規格,用於缺少格式。 規范還描述了應該使用接受 header 來請求格式 - 我認為 URL 結尾是一個軌道假設。

這看起來像是welcome_controller 的人才方法中的實際500 錯誤,而不是在缺少模板時更改核心rails 行為的願望。 我懷疑某些 gem 導致了 500 錯誤(我首先會責怪設備;這就是我的 json 響應出現問題的原因),但需要查看 controller(可能還有更多)才能進一步評論。

與此同時,以實用主義的名義,而不是挖掘第三方寶石……

默認情況下,rails 將在請求時嘗試以 json 格式響應任何操作,並且它使用 json 模板文件的存在作為如何響應的指南。 這樣,您只需創建一個 json 模板並且“它就可以工作”。 但是,您可以明確告訴一個方法只響應 html:

def talent
    ...
    respond_to :html
end

或者,如果您在任何 Welcome 操作中都沒有任何非 html 響應,則可以在 controller 級別執行此操作:

class WelcomeController < ApplicationController
  respond_to :html

  def talent
    # Your code
  end
end

如果您想明確地只對所有操作使用 html 響應,您甚至可以在 application_controller 級別執行此操作; 但請注意這一點。

另請參閱https://api.rubyonrails.org/classes/ActionController/MimeResponds.html以在您的操作中更多地使用respond_to

因此,總結一下自我發布問題以來的發現,似乎一些控制器響應了使用 406 指定不受支持格式的請求,這是正確且可接受的行為。 而另一個回應,500 這很糟糕,因為 500 引發了警報。 聽起來要弄清楚為什么它的行為不同可能需要很長時間。

我采用了有點老套的解決方案,但它是結束瑣碎錯誤警報的最快方法。 我剛剛為所有缺失的模板創建了包含“不支持”文本的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM