文章出处:http://edgeguides.rubyonrails.org/getting_started.html
再拾Rails的时候发现已经到3.0.3了, 巨大的改变发现找篇中文教程都找不到,于是索性根据官方教程一边学一边翻译,就当学习笔记。水平有限,不足此处敬请谅解。
1. 环境搭建
- Ruby1.8.7+ (那么由于187p248,249的bug可能会导致Rails3崩溃,官方建议使用1.9.2的Ruby版本)
- RubyGems
- SQLITE3数据库 (那么这个数据库是Rails内置支持的,我们也可以使用其他数据库,比如MySql5.5)
安装:
2, 安装rails3, $ gem install rails
3, 安装IDE, 个人比较喜欢Aptana3, www.aptana.com
2. Rails的指导原则和理念
- DRY(Dont Repeat Yourself) - 保持代码清晰高效,这个一直是我喜欢rails的原因之一
- 约定大于配置 - rails假定你想要做什么以及准备如何做,而不是把任何事情都放到配置文件中去。比如我们说好数据库表的名称应该是模型类名称的小写的复数形式。那么rails会自动把该数据表与其模型类进行关联。
- REST是WEB应用的最佳模式 - 用resources以及标准的HTTP动作来组织你的应用。
3. 创建你的第一个应用
大多数的第一个应用要么是购物车要么就是博客, 我们也不能免俗. 我们将要在下面的内容中打造一个博客,也就是rails经常吹嘘的10分钟打造的博客系统(事实上用不了十分钟)
$ rails new blog
这将使rails为你创建一个blog工程 (rails -h可以查看rails命令的帮助)
$ cd blog
我们转到blog目录内。
那么在任何情况下,Rails会在你的工作路径内为你创建一个blog的文件夹。本教程的大多数工作都会在app文件夹内操作,这里有一个Rails默认创建应用时创建的文件夹以及文件说明:
文件/文件夹
说明
Gemfile |
该文件允许你指定你程序所需要的gem (比如你用到了mysql数据库, 你需要在这里指定 gem "mysql"). |
README |
你的应用程序大体说明. 用这个来告诉他人该程序是干什么的, 等等. |
Rakefile |
该文件包含了一系列可以在终端运行的命令. |
app/ |
包含了应用程序的控制器,模型,以及视图. 在本教程中你将专注于该文件夹. |
config/ |
配置你应用程序的运行时规格,路由,数据库等等. |
config.ru |
基于服务器的Rack配置,用于启动程序. |
db/ |
显示你当前数据库的模式,以及数据库迁移. |
doc/ |
你应用的详细文档. |
lib/ |
你应用的扩展模块. |
log/ |
日志. |
public/ |
唯一可以被访问的文件夹. 你可以保存你的图像,javascript, 样式表(CSS), 以及其他静态文本. |
script/ |
包含启动你程序的rails脚本,并可以放置其他你用来部署或者运行你程序的脚本. |
test/ |
单元测试,夹具以及其他测试 |
tmp/ |
临时文件 |
vendor/ |
放置第三方代码的地方. 在一个典型的rails应用中, 这将包括ruby gems, rails源代码 (如果你拷贝到你的应用中的话), 以及包含额外功能的插件.
|
接下来我们安装需要的gems
$ bundle install
(事实上绑定的gems都定义在gemfile中)
配置数据库连接:config/database.yml, 默认情况下是连接到SQLite3的, 如果你在使用SQLite3,保持默认就可以了, 如果是MySql,需要改为:
development:
adapter: mysql
encoding: utf8
database: blog_development
pool: 5
username: root
password:
|
接下来创建数据库。
$ rake db:create
该rake命令会根据你的数据库配置自动为你创建数据库
万事俱备,只欠服务器了
$ rails s
(新的script命令变化很大, 现在只需要输入 rails [option] [args] 就可以了)
默认情况下 rails 将启动 Webrick 服务器, 赶快打开你的浏览器在地址栏输入 http://localhost:3000/ 查看你的第一个rails程序 吧 :)
我们下节课见。
相关推荐
Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...
Component-Based Rails Applications: Large Domains Under Control (Addison-Wesley Professional Ruby Series) By 作者: Stephan Hagemann ISBN-10 书号: 0134774582 ISBN-13 书号: 9780134774589 Edition 版本: ...
turbo-sprockets-rails3, 加速你的Rails 3资产 用于 Rails 3.2.x的涡轮链轮 通过只根据源文件的哈希来重新编译已经更改的资产,从而加快 Rails 3 rake assets:precompile的速度只编译一次以生成指纹和非打印的资产...
基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip ...
Rails3教程系列 DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY(Dont Repeat Yourself) DRY...
学习rails和ruby的好教程。赶快下吧!
ng-rails-csrf 一起使用 AngularJS 和 Rails? 如果您正在发出任何 HTTP 请求,那么“ng-rails-csrf” gem 可以通过自动将 CSRF 令牌添加到 HTTP 标头来提供帮助。 如果您使用 CSRF 保护,Rails 将不会接受没有此...
本书是中文版,安道翻译的,入门经典,我就是看了它学会rails的!
minitest-rails, Rails的Minitest集成 minitestRails 5的Minitest集成 安装gem install minitest-rails这将安装以下宝石:minitest配置创建一个新的Rail
d3滑轨是一个JavaScript库,用于根据数据处理文档。 D3可帮助您使用HTML,SVG和CSS使数据栩栩如生。 d3-rails为Rails 3.1及更高版本提供D3。版本d3-rails带有D3.js版本6.6.2。 d3-rails版本将始终镜像D3的版本。 ...
这个简单的插件使您能够调用to_xls到Rails的数组集合。 数组元素支持对象:ActiveRecord,Mongid,哈希。 在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git => ...
webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。 有关详细信息,请参阅 #90. web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中...
jquery-datatables-rails, 用于 Rails的jquery数据表 gem jquery-datatables-rails 这个 gem 为 jQuery DataTables插件提供了方便,以便与 Rails 资产pipleine结合使用。 它提供所有基本的datatable文件,以及一些...
jasmine-jquery的Rails jasmine-jquery通过资产管道 安装 将此行添加到您的应用程序的Gemfile中: gem 'jasmine-jquery-rails' 然后执行: $ bundle 假设您使用的是茉莉花宝石,则在jasmine.yml中具有: src_...
迷你轨道与Rails 6.1的Minitest集成安装gem install minitest-rails 这将安装以下gem: minitest配置创建一个新的Rails应用程序: rails new MyApp 选择一个版本如果您正在运行Rails 6.x,请在Gemfile中指定相应的6....
jquery-ui+jquery-ui-rails
rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...
capistrano-3-rails-template, 使用 Capistrano 3部署 Rails 应用程序的模板 Capistrano 3 Rails 配置概述这是部署带有的Ruby on Rails 应用程序的示例配置,包括使用Unicorn和Sidekiq后台员工部署的零停机。...