风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

应用rails进行敏捷web开发--学习笔记一

开发环境
radrails 0.71, radrails就是一个基于eclipse的IDE工具,不过没有提供代码助手功能,这个让我javaer有点不习惯,可能都是被IDE给宠坏了,不喜欢记那么多的名字吧。

下面来做我们的第一个hello world程序。

1、创建项目

输入项目名称

最后点击Finish
radrails会自动运行 rails Hello命令,创建所有需要的目录及文件。
目录机构如图


在servers窗口中会自动创建相应的server,用来启动服务(ruby script/server)

2、创建controller
在Generators窗口中,下拉框选择controller,后一个输入要创建的controller的名字,然后点击go,过几秒钟,系统就会创建controller所需要的文件,最后会在console窗口显示创建的文件,这个时候就说明controller已经创建完成。你可以在app/controller中发现多了一个say_controller.rb的文件

如果要删除都个已经创建好的controller,在第二个下拉框中选择要删除的名字,然后选择Destroy,点击go即可。



3、增加Action
say_controller.rb的默认代码:

class SayController < ApplicationController
end
简单来说action 就是controller中的方法。
添加一个hello的方法
def hello
end
启动服务器,可以测试了。不过因为没有建view页面,所以会出错,出现的错误类似
Missing template ./script/../config/..//app/view/hello.rhtml

4、view页面
在app/views/say/目录下增减hello.rhtml文件,然后输入
<html>

<body>
    <h1>
        Hello from rails!
    </h1>
</body>
</html>
测试页面代码,在刷新,即可出现你想要的页面。
只是到现在为止,所有的都是静态的数据。下面将对action,及view进行重写,添加动态数据。

4、action修改
看如何从action中传数据到view。

  def hello
    @time = Time.now
  end

页面
<p> It is now <%= @time %></p>
在action中定义了一个 @time, 在页面中就可以引用这个实例变量进行显示。

问题:这个没有对这个实例变量进行任何的访问控制,按照ruby的语法,实例变量在对象外面是不能访问的。

posted on 2007-05-13 09:38 风人园 阅读(566) 评论(0)  编辑  收藏 所属分类: ROR


只有注册用户登录后才能发表评论。


网站导航: