应用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访问
http://localhost:3000
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的文件。
 Hello,World
 
    hello form Rails
 
从浏览器访问 http://127.0.0.1:3000/say/hello就会看到结果
1.5 让它动起来
动态内容
       Rails有两种方式可以创建动态页面,一种是用“构建器”(Builder),以后在介绍。另一种是我们现在用的,将Ruby代码嵌入到模板中,主跟ASP、PHP、JSP差不多。
       rhtml将告诉Rails借助ERb系统对文件内容进行解释。<%%>之间就是Ruby代码区,<%=%>则是显示计算出的结果,这跟jsp中的规则差不多。
修改的hello.rhtml,加入
   
     
  • Addition:<%=1+2%>
  •      
  • Concatenation:<%= "cow" + "boy" %>
  •      
  • Time in one hour:<%= 1.hour.from_now %>
  •    
    显示结果
    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
    更改视图
     
       

          It is now <%=@time %>
       

    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.
     See You Later!
     
       

    Goodbye!

     
    3.将两个网页串链起来
    方式一: (比较传统)
    编辑hello.rhtml
       

          Say GoodBye
       

    编辑goodbye.rhtml
       

          Say Hello
       

    方式二:(Rails 独创)
    编辑hello.rhtml
       

          rails Say <%= link_to "GoodBye!", :action => "goodbye" %>
       

    编辑goodbye.rhtml
       

          Rails Say <%= link_to "Hello" , :action => "hello" %>
       

    在<%= %>中嵌入了link_to()的调用,结果是一人goodby()这个action的URL。
    第一个参数是超链接显示的文字,第二个参数告诉Rails如何生成超链接。
    :action是一个Ruby的符号,冒号可以看作“名叫某某某的东西”,的怪 :action就代表名称action的东西。
    =>”goodbye”则将”goodbye”这个字符串与action这个名字关联起来。
     

    你可能感兴趣的:(应用Rails进行敏捷Web开发(学习笔记)-2.快速建立第一个Rails应用)