我有一個簡單的 Ruby on Rails 存盤庫,我發現如果我將主頁指定為 Roues 中的索引,它會拋出一個“”錯誤。我找不到任何拼寫錯誤:
這是路線
Rails.application.routes.draw do
resources :foos
root "foos#index"
end
這是控制器的一部分
class FoosController < ApplicationController
before_action :find_foo, only: [:edit, :update, :destroy]
def index
@foos = Foo.all
end
我的視圖檔案是 app/views/index.html.erb
這是日志:
ActionController::MissingExactTemplate(FoosController#index 缺少請求格式的模板:text/html):
actionpack (7.0.2.2) lib/action_controller/metal/implicit_render.rb:45:in default_render' actionpack (7.0.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in block in send_action' actionpack (7.0.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in tap' actionpack (7.0.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' actionpack (7.0.2.2) lib/abstract_controller/base.rb:214:in process_action' actionpack (7.0.2.2) lib/action_controller/metal/rendering.rb:53:in process_action' actionpack (7.0.2.2) lib/abstract_controller/callbacks.rb:234:in block in process_action' activesupport (7.0.2.2) lib/active_support/callbacks.rb:118:in block in run_callbacks' actiontext (7.0.2.2) lib/action_text/rendering.rb:20:在類中的with_renderer' actiontext (7.0.2.2) lib/action_text/engine.rb:69:in 塊(4 級)中:Engine' activesupport (7.0.2.2) lib/active_support/callbacks.rb:127:in instance_exec' activesupport (7.0.2.2) lib/active_support/callbacks.rb:127:in block in run_callbacks' activesupport (7.0.2.2) lib/active_support/callbacks.rb:138:in run_callbacks' actionpack (7.0.2.2) lib/abstract_controller/callbacks.rb:233:in process_action ' 動作包 (7.0.2.2) lib/action_controller/metal/rescue.rb:22:inprocess_action' actionpack (7.0.2.2) lib/action_controller/metal/instrumentation.rb:67:in 塊在 process_action'activesupport (7.0.2.2) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.0.2.2) lib/active_support/notifications/instrumenter.rb:24:in instrument' activesupport (7.0.2.2) lib/active_support/notifications.rb:206:in instrument' actionpack (7.0.2.2) lib/action_controller/metal/instrumentation.rb:66:in process_action' actionpack (7.0.2.2) lib/ action_controller/metal/params_wrapper.rb:259:in process_action' activerecord (7.0.2.2) lib/active_record/railties/controller_runtime.rb:27:in process_action' actionpack (7.0.2.2) lib/abstract_controller/base.rb:151:in process' actionview (7.0.2.2) lib/action_view/rendering.rb:39:in process' actionpack (7.0.2.2) lib/action_controller/metal.rb:188:in dispatch' actionpack (7.0.2.2) lib/action_controller/metal.rb:251:in dispatch ' actionpack (7.0.2.2) lib/action_dispatch/routing/route_set.rb:49:in dispatch' actionpack (7.0.2.2) lib/action_dispatch/routing/route_set.rb:32:in serve' actionpack (7.0.2.2) lib/action_dispatch/journey/router.rb:50:in block in serve' actionpack (7.0.2.2) lib/action_dispatch/journey/router.rb:32:in each' actionpack (7.0.2.2) lib /action_dispatch/journey/router.rb:32:in serve' actionpack (7.0.2.2) lib/action_dispatch/routing/route_set.rb:850:in call' rack (2.2.3) lib/rack/tempfile_reaper.rb:15:incall' rack (2.2.3) lib/rack/etag.rb:27:in call' rack (2.2.3) lib/rack/conditional_get.rb:27:in call' rack (2.2.3) lib/rack/head.rb:12:in call' actionpack (7.0.2.2) lib/action_dispatch/http/permissions_policy.rb:22:in call' actionpack (7.0.2.2) lib/action_dispatch/http/content_security_policy.rb:18:in call' rack (2.2.3) lib/ rack/session/abstract/id.rb:266:in context' rack (2.2.3) lib/rack/session/abstract/id.rb:260:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/cookies.rb:693:in call' activerecord (7.0.2.2) lib/active_record/migration.rb:603:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/callbacks。 rb:27:in block in call' activesupport (7.0.2.2) lib/active_support/callbacks.rb:99:in run_callbacks' actionpack (7.0.2.2) lib/action_dispatch/middleware/callbacks.rb:26:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:28:in call' web -console (4.2.0) lib/web_console/middleware.rb:132:in call_app' web-console (4.2.0) lib/web_console/middleware.rb:28:in block in call' web-console (4.2.0) lib/web_console/middleware.rb:17:incatch' web-console (4.2.0) lib/web_console/middleware.rb:17:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/show_exceptions.rb:26:in call' railties (7.0.2.2) lib/rails/rack/logger.rb:36:in call_app' railties (7.0.2.2) lib/rails/rack/logger.rb:25:in block in call' activesupport (7.0.2.2) lib/active_support/tagged_logging.rb:99:in block in tagged' activesupport (7.0. 2.2) lib/active_support/tagged_logging.rb:37:in tagged' activesupport (7.0.2.2) lib/active_support/tagged_logging.rb:99:in tagged' railties (7.0.2.2) lib/rails/rack/logger.rb:25:in call' sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/remote_ip。 rb:93:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/request_id.rb:26:in call' rack (2.2.3) lib/rack/method_override.rb:24:in call' rack (2.2.3) lib/rack/runtime.rb:22:in call' activesupport (7.0.2.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/server_timing.rb:20:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/static.rb:23:in call' rack (2.2.3) lib/rack/sendfile.rb:110:in call' actionpack (7.0.2.2) lib/action_dispatch/middleware/host_authorization.rb:137:in call' railties (7.0.2.2) lib/rails/engine .rb:530:incall' puma (5.6.2) lib/puma/configuration.rb:252:in 呼叫' puma (5.6.2) lib/puma/request.rb:77:in block in handle_request' puma (5.6.2) lib/puma/thread_pool.rb:340:in with_force_shutdown' puma (5.6.2) lib/puma/request.rb:76:in handle_request' puma (5.6.2) lib/puma/server.rb:441:in process_client' puma (5.6.2) lib/puma/ thread_pool.rb:147:in `block in spawn_thread'
我錯過了什么?
uj5u.com熱心網友回復:
我的視圖檔案是 app/views/index.html.erb
這就是問題所在。您的視圖檔案應該存在于app/views/foos/index.html.erb
Rails 將自動呈現與控制器和操作名稱匹配的視圖。約定優于配置!視圖位于 app/views 目錄中。因此 index 操作將默認呈現app/views/foos/index.html.erb。
您可以在這個Rails 官方頁面上閱讀更多內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/433905.html
標籤:轨道上的红宝石
上一篇:解釋協程的有趣行為
