假设我跑
rails new proj1
我能做到
rails生成控制器abc def
并创造了其他功能,。\ app \ views \ abc \ def.html.erb
我可以编辑config.rb来说
get '/', to: 'abc#def'
或
root 'abc#def'
当我转到def.html.erb
http://127.0.0.1:3000/
模板
但是如果我能在不创建新控制器的情况下做到这一点,我感兴趣。我对是否可以使用应用程序控制器转到模板感兴趣。
因此,举例来说,我可以修改.\app\controllers\application_controller.rb
并添加
def a
end
然后应用程序控制器的行为与其他控制器一样,并尝试呈现相应的.html.erb文件,例如'a'动作会尝试渲染a.html.erb?如果是这样,我找不到放置a.html.erb文件的位置?
其他控制器在视图中有一个子目录,每个操作在该子目录中有一个文件,一个可以手动或通过使用例如rails generate controller blah a b c
生成带有操作的控制器,并为每个操作生成模板。
但我无法看到应用程序控制器..我无法看到它的视图在哪里。
答案 0 :(得分:2)
你可以这样做:
get '/', to: "application#root"
def root
end
hello world
运行服务器并访问localhost:3000
打印" hello world"
Sinatra做的事与此类似。路由和控制器操作基本上是组合在一起的,如果您需要,您可以自己实现类似轨道的控制器。