应用Rails进行敏捷Web开发(学习笔记)-2.快速建立第一个Rails应用

 
第1章 快速建立第一个Rails应用
1.1 新建立一个应用程序
创建Rails应用程序有两种途径,一是从头开始编写每行代码,二是用rails工具来帮助我们构造应用程序。
我是选择第二种,因为我不是苦行僧式的人类,我是标准的懒人。
开始建立:
1.通过cmd进入命令窗口
2.创建一个工作目录
我的是E:/work/rails
3.在工作目录中创建demo应用程序
E:/work/rails>rails demo
      create
      create app/controllers
      create app/helpers
      create app/models
      create app/views/layouts
      create config/environments
      create components
      create db
      create doc
      create lib
      create lib/tasks
      create log
      create public/images
      create public/javascripts
      create public/stylesheets
      create script/performance
      create script/process
      create test/fixtures
      create test/functional
      create test/integration
      create test/mocks/development
      create test/mocks/test
      create test/unit
      create vendor
      create vendor/plugins
      create tmp/sessions
      create tmp/sockets
      create tmp/cache
      create Rakefile
      create README
      create app/controllers/application.rb
      create app/helpers/application_helper.rb
      create test/test_helper.rb
      create config/database.yml
      create config/routes.rb
      create public/.htaccess
      create config/boot.rb
      create config/environment.rb
      create config/environments/production.rb
      create config/environments/development.rb
      create config/environments/test.rb
      create script/about
      create script/breakpointer
      create script/console
      create script/destroy
      create script/generate
      create script/performance/benchmarker
      create script/performance/profiler
      create script/process/reaper
      create script/process/spawner
      create script/runner
      create script/server
      create script/plugin
      create public/dispatch.rb
      create public/dispatch.cgi
      create public/dispatch.fcgi
      create public/404.html
      create public/500.html
      create public/index.html
      create public/favicon.ico
      create public/robots.txt
      create public/images/rails.png
      create public/javascripts/prototype.js
      create public/javascripts/effects.js
      create public/javascripts/dragdrop.js
      create public/javascripts/controls.js
      create public/javascripts/application.js
      create doc/README_FOR_APP
      create log/server.log
      create log/production.log
      create log/development.log
      create log/test.log
 
E:/work/rails>
Rails会像神经病一样,给你建了N多的目录和文件。
 
4.启动http server服务
在demo目录下,键入
ruby script/server
5.IE访问
6.停止服务
在命令窗口下按一Ctrl-C键
1.2 Hello World
从当程序员开始,也记不清到底写过多少Hello World了,只知识它的出现是一个新的开始。
在Rails中,为了要显示Hello World,我们要编写一个器和一个视图。
从控制器开始:
      通过generate脚本建立控制器,它保存在demo项目下的script目录中。
      现在我们要建立一个say的控制器。
E:/work/rails/demo>ruby script/generate controller Say
      exists app/controllers/
      exists app/helpers/
      create app/views/say
      exists test/functional/
      create app/controllers/say_controller.rb
      create test/functional/say_controller_test.rb
      create app/helpers/say_helper.rb
E:/work/rails/demo>
建立后控制器的源码存放在app/controllers/say_controller.rb文件中。
class SayController < ApplicationController
end
SayController是一个空类,它继承了ApplicationController。
1.3 Rails请求URL
Rails的url请求很特别,如果从事j2ee或.net开发人员来看,确实有点怪怪的。
http://pragprog.com/online/demo/ say /hello
绿色:应用地址
红色:控制器名称
蓝色:要访问的活动
1.4 我们的第一个action
l        编写控制器
编辑app/controllers目录下的say_controller.rb文件,如下:
class SayController < ApplicationController
 def hello
 end
end
l        编写视图
缺省情况下,Rails会录找与当前action同名的模板文件。在我们的例子中我们要创建一个名为app/view/say/hello.rhtml的文件。
<html>
 <head>Hello,World</head>
 <body>
    hello form Rails
 </body>
</html>
从浏览器访问 http://127.0.0.1:3000/say/hello就会看到结果
1.5 让它动起来
动态内容
       Rails有两种方式可以创建动态页面,一种是用“构建器”(Builder),以后在介绍。另一种是我们现在用的,将Ruby代码嵌入到模板中,主跟ASP、PHP、JSP差不多。
       rhtml将告诉Rails借助ERb系统对文件内容进行解释。<%%>之间就是Ruby代码区,<%=%>则是显示计算出的结果,这跟jsp中的规则差不多。
修改的hello.rhtml,加入
    <u1>
      <li>Addition:<%=1+2%></li>
      <li>Concatenation:<%= "cow" + "boy" %></li>
      <li>Time in one hour:<%= 1.hour.from_now %></li>
    </u1>
显示结果
Hello,World hello form Rails

·  Addition:3
·  Concatenation:cowboy
· Time in one hour:Fri Sep 29 15:18:19 +0800 2006
(到现在为止,我还没感觉到 Rails 有什么强大,止少跟 jsp 比,不过现在感觉到它的一大优点是,在多数更改代码时,都不用重新启动服务器)
1.6 通过控制器传入变量,在页面显示
我们的目标是在页面显示当前时间,变量从控制器中计算,然后从页面中得到并显示。
更改控制器
class SayController < ApplicationController
 def hello
    @time = Time.now
 end
end
更改视图
 
    <p>
      It is now <%=@time %>
    </p>
1.7 把页面连起来
我的目地是从一个视图跳传到另一个视图。
步骤:
1.在action中添加一个goodbye
class SayController < ApplicationController
 def hello
    @time = Time.now
 end 
 def goodbye
 end
end
2.在app/views/say下建立一个模板,名称与action的名字匹配goodbye.rhtml.
<html>
 <head>See You Later!</head>
 <body>
    <h1>Goodbye!</h1>
 </body>
</html>
3.将两个网页串链起来
方式一: (比较传统)
编辑hello.rhtml
    <p>
      Say <a href="/say/goodbye">GoodBye</a>
    </p>
编辑goodbye.rhtml
    <p>
      Say <a href="/say/hello">Hello</a>
    </p>
方式二:(Rails 独创)
编辑hello.rhtml
    <p>
      rails Say <%= link_to "GoodBye!", :action => "goodbye" %>
    </p>
编辑goodbye.rhtml
    <p>
      Rails Say <%= link_to "Hello" , :action => "hello" %>
    </p>
在<%= %>中嵌入了link_to()的调用,结果是一人goodby()这个action的URL。
第一个参数是超链接显示的文字,第二个参数告诉Rails如何生成超链接。
:action是一个Ruby的符号,冒号可以看作“名叫某某某的东西”,的怪 :action就代表名称action的东西。
=>”goodbye”则将”goodbye”这个字符串与action这个名字关联起来。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值