1. 在ror下创建一个web项目,很简单,
cmd> rails new helloWorld
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
.........
ror已经为我们创建好了文件夹?是的,这些文件夹的名称已经是自解释的了,让我们简单看看
app: 项目的工程文件目录
config:配置文件目录
script:脚本目录,如server脚本可以启动web服务.
public: web的公共目录,包含images、css、js等目录
其他还有log,lib,doc等.
2. 目录创建好了,需要写程序了?不,先让我看看生成的东东有什么用,
使用命令启动web server(ruby自带的web server),
cmd> cd helloWorld
helloWorld> rails server
访问localhost:3000/,会出现ror的欢迎界面
3.建一个名为demo的Controller,指向名为index的View。在这里可以使用g来代替generate,就像s代替service一样
rails g controller demo index
此时,controller目录中名为demo的Controller里有一个名为index的方法,在在这里应该叫做action。
class DemoController < ApplicationController
def index
end
end
这个叫index的action,对应views目录中名。代码如下:
<h1>Demo#index</h1>
<p>helloworld</p>
然后执行rails s
在浏览器地址栏中输入:localhost:3000/demo/index。
4. 现在让我们来完成经典的say hello
rails是一个mvc框架,rails接收来自浏览器的请求,对请求进行解读以找到合适的控制器,再调用控制器中合适的方法。然后,控制调用合适的视图,把结果显示给用户。rails提供了快速创建视图和控制的方法,只需要一个命令:
rails generate controller Say hello goodbye
访问方法:http://localhost:3000/say/hello
5,在视图中添加动态内容
下面我打开上图中提示的视图文件,它在您程序目录的app/views/say/hello.html.erb
<h1>Say#hello</h1>
<p>Find me in app/views/say/hello.html.erb</p>
我们修改为:
<h1>Say#hello</h1>
<p>现在时间是:<%=Time.now%></p>
这时再访问:localhost:3000/say/hello 显示如下
6,在控制中添加动态内容
上面的演示,时间在视图中取得,下面我们做一个小变化,打开控制器文件app/controllers/say_controller.rb
class SayController < ApplicationController def hello end def goodbye endend
修改为
class SayController < ApplicationController def hello @time=Time.now end def goodbye endend
视图:app/views/say/hello.html.erb修改为
<h1>Say#hello</h1><p>现在时间是:<%=@time%></p>
我们会看到和上面一样的结果。