`
xinlanzero
  • 浏览: 245820 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Rails3教程系列之一:Rails3入门(1) - [rails]

 
阅读更多

文章出处: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)
安装:
1, 安装ruby192, 地址:http://rubyinstaller.org/
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的精简版本Rails::API.zip

    Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...

    Component-Based Rails Applications: Large Domains Under Control

    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资产.zip

    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 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip ...

    rails3教程

    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入门教程一(翻译)

    学习rails和ruby的好教程。赶快下吧!

    ng-rails-csrf:of-rails-csrf

    ng-rails-csrf 一起使用 AngularJS 和 Rails? 如果您正在发出任何 HTTP 请求,那么“ng-rails-csrf” gem 可以通过自动将 CSRF 令牌添加到 HTTP 标头来提供帮助。 如果您使用 CSRF 保护,Rails 将不会接受没有此...

    ruby-on-rails 教程

    本书是中文版,安道翻译的,入门经典,我就是看了它学会rails的!

    minitest-rails, Rails的Minitest集成.zip

    minitest-rails, Rails的Minitest集成 minitestRails 5的Minitest集成 安装gem install minitest-rails这将安装以下宝石:minitest配置创建一个新的Rail

    d3-rails:d3-rails为Rails提供D3

    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:将Rails ActiveRecord或Mongid数据导出到Excel文件

    这个简单的插件使您能够调用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 应用程序集成.zip

    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.zip

    jquery-datatables-rails, 用于 Rails的jquery数据表 gem jquery-datatables-rails 这个 gem 为 jQuery DataTables插件提供了方便,以便与 Rails 资产pipleine结合使用。 它提供所有基本的datatable文件,以及一些...

    jasmine-jquery-rails:Jasmine-jQuery for Rails

    jasmine-jquery的Rails jasmine-jquery通过资产管道 安装 将此行添加到您的应用程序的Gemfile中: gem 'jasmine-jquery-rails' 然后执行: $ bundle 假设您使用的是茉莉花宝石,则在jasmine.yml中具有: src_...

    minitest-rails:用于Rails的Minitest集成

    迷你轨道与Rails 6.1的Minitest集成安装gem install minitest-rails 这将安装以下gem: minitest配置创建一个新的Rails应用程序: rails new MyApp 选择一个版本如果您正在运行Rails 6.x,请在Gemfile中指定相应的6....

    jquery-ui+jquery-ui-rails

    jquery-ui+jquery-ui-rails

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机.zip

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...

    capistrano-3-rails-template, 使用 Capistrano 3部署 Rails 应用程序的模板.zip

    capistrano-3-rails-template, 使用 Capistrano 3部署 Rails 应用程序的模板 Capistrano 3 Rails 配置概述这是部署带有的Ruby on Rails 应用程序的示例配置,包括使用Unicorn和Sidekiq后台员工部署的零停机。...

Global site tag (gtag.js) - Google Analytics