这不是一个问题,而是一个真正的问题,但我创建了一个新的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方法,我的主页也会显示。我只是想了解更多关于它是如何工作的。
我在张贴之前环顾四周,找不到答案。这是我在此的头一篇博文。提前致谢
这是Rails关于配置咒语的约定的一部分。见Rendering by Default: Convention Over Configuration in Action
从指南:
默认情况下,Rails中的控制器自动呈现具有与有效路由对应的名称的视图。
因此,即使home
动作未定义,Rails仍将渲染home
视图,因为有一个有效的路径。