快速业务通道

进入Ruby on Rails世界 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
t;, :database => "diary" ) end

注: :encoding => "gb2312" 是必须的,如果没有,汉字就无法保存在数据库中了。

进入Ruby on Rails世界(6)

时间:2011-11-29 天极 李宁

第四步 编写控制类

在app\controllers中建立diary_controller.rb文件,在其中输入如下代码。

class DiaryController < ApplicationController
before_filter :configure_charsets
def configure_charsets
@response.headers["Content-Type"] = "text/html; charset=gb2312"
end
def index
end
def write
# 查找当天的记录,看看今天是否已经有日记了
@record = Record.find_by_date(Time.now.strftime("%Y-%m-%d"))
if @record == nil # 如果没有,增加一条记录
@record = Record.new
end
end
def create
@record = Record.find_by_date(Time.now.strftime("%Y-%m-%d"))
if @record == nil
@record = Record.new
@record.date = Time.now.strftime("%Y-%m-%d")
end
# 保存数据
if @record.update_attributes(params[:record])
@saved = true
else
@saved = false
end
end
def query
end
def result
# 得到提供的日期
@year =@request.params["record[date(1i)]"].to_s;
@month = sprintf("%02d", @request.params["record[date(2i)]"].to_s)
@day = sprintf("%02d", @request.params["record[date(3i)]"].to_s)
@query_date = @year + "-" + @month + "-" + @day
@record = Record.find_by_date(@query_date)
end
end

以上代码有4点需要说明一下:

1. 控制类必须从ApplicationController继承。

2. 控制类中每一个方法都可作为一个path,如write方法可以在IE中输入http://localhost:3000/diary/write。然后rails先执行这个方法,再调用下面将要讲的rhtml文件。

3. configure_charsets方法是必须的。这个方法在向IE输出html代码之前调用。而其中的代码@response.headers["Content-Type"] = "text/html; charset=gb2312"设置了html所支持的编码类型。如果没有这条语句。必须得手工调整IE的编码设置才能正常显示汉字。

4. index方法是默认路径。如果直接输入http://localhost:3000/diary,则执行index方法。

进入Ruby on Rails世界(7)

时间:2011-11-29 天极 李宁

第五步 编写rhtml文件

也许你看到这个标题会感到奇怪,是不是写错了,是html吧?我可以肯定地告诉大家,就是rhtml文件。这个文件类型是rails定义的。它类似于jsp或aspx文件。是在后台执行的。在其中定义了很多类似于jsp的tag的东西。由于rhtml文件很多,在这里只给出write.rhtml的例子。

<h3>日记</h3> <%= start_form_tag :action => ''create'' %> <%= render :partial => ''form'' %> <%= submit_tag "保存" %> <%= end_form_tag %>

其中submit_tab就是一个tag。Rails将submit_tag翻译成html代码传给IE或其它浏览器。其它的rhtml文件请参阅本文提供的源代码。这些文件都被建立在app\views\diary中。

注:每一个作为path的方法必须对应一个rhtml文件,否则会报错。

第六步 启动服务

ruby script/server

在IE中输入http://localhost:3000/diary可看到如图4所示的界面。

进入Ruby on Rails世界 - 编程入门网

图4:日记程序主界面

通过点击“写日记”和“查询日记”链接,可以进行相应的操作。

五、小结

通过上节的介绍,我们已经了解了使用rails开发web程序的基本过程。使用rails开发web程序自动遵循MVC模式。分别将M、V、C所定义的代码放到了app\models、app\views和app\controller

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号