我是ruby on rails Web-Programming的新手。今天我尝试设置Ruby编程语言和Rails框架。 Ruby工作正常,我做了第一个Test-Class Successfull。只有设置我的Rails框架才能为我准备一些问题。
我做了一个test_app
,我试图运行它。
rails new test_app
rails s
我意识到路线在routes.rb
中被评论过,我对它进行了注释。
我将#root :to => 'welcome#index'
更改为root :to => 'welcome#index'
。
我也意识到我没有页面welcome/index
的控制器,我创建了它
与rails g controller Welcome index
。
但是它不起作用了吗?有人有想法吗?
Template is missing
Missing template welcome/index, application/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "D:/Davide Giunta/Development/workspace[ruby]/test_app/app/views"
Ruby Version: 1.9.3p368
Gem Version: 1.8.24
Rails Version: 3.2.11
答案 0 :(得分:3)
rails g controller
只会创建控制器部分,您还需要创建相应的视图文件,在这种情况下,您需要app/views/welcome/index.html.erb
使用scaffold
(仅在学习时)或resource
用于您的生成器可能会更快。 (这些天我通常都是手工制作)
答案 1 :(得分:0)
Jim Deville的回答是正确的。您需要创建控制器操作(action_name.html.erb)的相应视图文件,并将其放在名为控制器的子目录下的视图目录中。
在此处查看Rails的基础知识http://guides.rubyonrails.org/getting_started.html。
如果您想使用控制器,视图和模型创建操作,则应使用rails g scaffold SomeName
,另请参阅http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding。