惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - 在路上...

Iphone的HEIC图片文件格式转换及相关开发工具 账号复活了 2015年,即将结束 CentOS 6 minimal 安装之后添加gnome Windows8离线安装.net framework 3.5 新年快到了,此记 flex中ComboBox对应的几种数据绑定 - 在路上... - 博客园 Jquery中增加参数与Json转换代码 - 在路上... - 博客园 如何获取到informix for linux? 建国大业 《红》mp3下载 T42内存升级 随便一帖 Informix 9.40UC9 on Redhat Linux AS 4安装手记 Taking the web Offline and On the Desktop Flex上传文件功能 Flex实现QQ网页提取天气信息 乱弹ruby on rails目录下面的文件数有3万多个 Javascript代码压缩、加密算法的破解分析及工具实现 【翻译】Oracle不同版本之间Export & Import的兼容性矩阵
Ruby on rails 2.0.2傻瓜入门之Hello world
在路上... · 2008-04-23 · via 博客园 - 在路上...

毫不例外,和所有其他的开源项目一样,如果你想进入Ruby on rails的世界,会发现异常的的艰难,文档很少,而且很零散,
下载下来的文件缺乏基本的说明,本人的亲身体验就是一个典型例子,不废话了,现在开始介绍:
一、安装环境<windows>
Ruby on rails网站:http://www.rubyonrails.org/
1、在这里下载Ruby 1.8.6  http://rubyforge.org/frs/?group_id=167
其中已经包含rubygems 0.9.4,就不需要额外下载了,或者你也可以直接升级到1.1.1版本
2、如果你的网络够快,运行下面命令下载程序包自动安装
gem install rails --include-dependencies
否则,下载stand-alone packages 来手工安装,这里包含几个文件:
rails-2.0.2.zip http://rubyforge.org/frs/download.php/29361/rails-2.0.2.zip
rails-2.0.2.gem http://rubyforge.org/frs/download.php/29554/rails-2.0.2.gem
网上有文章介绍,将rails-2.0.2.zip放在ruby的安装目录,运行gem install rails就可以自动解压安装了,呵呵,我试了很多次,好像这种方法根本就是不行,
原作者也是语焉不详,咱们就不深究了,说到底,rails运行需要下面的依赖包,然后才能安装rails
activesupport
activerecord
actionpack
actionmailer
activeresource
其实这些依赖包已经包含在rails-2.0.2.zip文件中的vendor\rails目录下面,依次进入对应目录下的pkg子目录中就有相应的gem文件,安装这些就可以了。例如

C:\rails\vendor\rails\activesupport\pkg>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 
3754-1BDB

 C:
\rails\vendor\rails\activesupport\pkg 的目录

2008-04-22  17:51    <DIR>          .
2008-04-22  17:51    <DIR>          ..
2007-12-16  19:05    <DIR>          activesupport-2.0.2
2007-12-16  19:05           234,496 activesupport-2.0.2.gem
2007-12-16  19:05           233,039 activesupport-2.0.2.tgz
2007-12-16  19:05           285,376 activesupport-2.0.2.zip
               
3 个文件        752,911 字节
               
3 个目录  6,119,768,064 可用字节

C:
\rails\vendor\rails\activesupport\pkg>gem install activesupport

所以手工安装就只需要安装上面包,最后再安装rails-2.0.2.gem就可以了。
安装完毕之后,运行rails -v,可以显示版本Rails 2.0.2

二、Hello world起步
说句实话,第一个rails web程序有谁希望是一个连接mysql或者其他数据库的例子,至少我不这样希望,但是在网上流行的很多入门中第一个例子就是连接数据库,演示一个不用写什么代码就可以实现数据的增、删、改的例子,尽管很炫,但是对于我等入门者来说还是太麻烦了,Hello world才是我们希望要的。
(注:不少流行的电子书、教程也是这样数据库的例子,罗列一下:《

Rails Cookbook》《Rails for Java Developers》《Rails Recipes
官方介绍的教程:http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html
Rails 2.0 入门指导 http://www.lupaworld.com/action_viewstutorial_itemid_10205.html
而且有一个问题,2.0的有些东西和1.X相比变化了,所以网上很多教程是基于1.x的,不少人又要走弯路了!
1、创建WEB应用
运行rails c:\ruby\projects\sample创建一个需要的sample应用,该操作会建立一些基本的目录框架、必需的文件,建好后可以进入目录看看效果。

2、启动WEB Server,测试效果
进入c:\ruby\projects\sample目录,运行ruby script/server启动服务器,然后打开网址http://localhost:3000/可以看到初始页面

3、准备Sqllite,很遗憾,我们不想涉及数据库,可以还是会遇到这个东东,在config\

database.yml文件中就可以看到它的影子,没办法,这个必须安装,否则后面会遇到错误。
这里下载http://rubyforge.org/frs/?group_id=254 文件sqlite3-ruby-1.2.1-mswin32.gem,运行gem install sqlite3-ruby安装。
还必须下载sqllite3.dll文件,真麻烦啊,可以从这里下载 http://www.sqlite.org/download.html 下载文件sqlitedll-3_5_8.zip,解压到ruby的bin目录,否则后面会报找不到sqlite3.dll文件的错误。

4、由于rails采用MVC的架构组织网页程序,因此可以运行script/generate来生成需要的文件,该脚本内置了controller, mailer, model, scaffold, web_service几种程序,这里我们需要的是controller,网上还可以找到其他的生成器插件,例如自动生成一个登录界面之类。
进入c:\ruby\projects\sample目录,运行ruby script/generate controller Welcome hello
类似下面的输出,这里Welcome指定Control名称,文件

welcome_controller.rb中生成一个class WelcomeController,类似于java中的Action了,其中有一个方法hello

C:\ruby\project\sample>ruby script/generate controller Welcome hello
      exists  app
/controllers/
      exists  app
/helpers/
      create  app
/views/welcome
      exists  test
/functional/
      create  app
/controllers/welcome_controller.rb
      create  test
/functional/welcome_controller_test.rb
      create  app
/helpers/welcome_helper.rb
      create  app
/views/welcome/hello.html.erb

app\controllers\welcome_controller.rb文件加上下面的代码

1class WelcomeController < ApplicationController
2
3  def hello
4    @welcome_message = "Welcome to your first Rails application"
5  end
6end
7

app\views\welcome\hello.html.erb文件如下内容

 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2<HTML>
 3 <HEAD>
 4  <TITLE> Hello world </TITLE>
 5 </HEAD>
 6
 7 <BODY>
 8<h1>Welcome#hello ,<%= @welcome_message %></h1>
 9<p>Find me in app/views/welcome/hello.html.erb</p>
10 </BODY>
11</HTML>
12

大功告成,启动web server,输入网址http://localhost:3000/welcome/hello就可以看到效果了。