即使我删除了页面控制器中的方法,Rails仍会在root上显示主页

问题描述 投票:0回答:1

这不是一个问题,而是一个真正的问题,但我创建了一个新的rails项目。我改变了

 Rails.application.routes.draw do
  get 'pages/about'

  get 'pages/contact'

  devise_for :users
  root to: 'pages#home'
end

我的Pages控制器看起来像这样

  class PagesController < ApplicationController
  skip_before_action :authenticate_user!, only: [:home]

  def home
  end

  def about
  end

  def contact
  end
end

即使我删除了home方法,我的主页也会显示。我只是想了解更多关于它是如何工作的。

我在张贴之前环顾四周,找不到答案。这是我在此的头一篇博文。提前致谢

ruby-on-rails
1个回答
1
投票

这是Rails关于配置咒语的约定的一部分。见Rendering by Default: Convention Over Configuration in Action

从指南:

默认情况下,Rails中的控制器自动呈现具有与有效路由对应的名称的视图。

因此,即使home动作未定义,Rails仍将渲染home视图,因为有一个有效的路径。

© www.soinside.com 2019 - 2024. All rights reserved.