发布于2026-06-29 阅读(0)
扫一扫,手机访问
在开始一个 Rails 项目之前,很多人会先纠结一个问题:怎么搭建?其实步骤并不复杂,但国内开发者往往会卡在第一步——网络环境。下面就把整个流程拆开来讲,希望能帮你少走些弯路。

创建一个普通的 Rails 项目,直接用以下命令即可:
rails new blog
但问题来了——在国内连接 RubyGems 的速度实在让人抓狂。Rails 默认在项目骨架生成后,会用 bundle 从 RubyGems 下载依赖包,结果经常卡死。所以第一件事就是绕过它:加上 --skip-bundle 参数,先跳过这一步。后续咱再用国内的镜像源来装包。目前国内比较靠谱的是 Ruby China 提供的源:https://gems.ruby-china.org/。
实际操作步骤整理如下:
rails new blog --skip-bundle
Gemfile 文件,把第一行 source 后面引号里的地址换成 https://gems.ruby-china.org/。bundle install,完成依赖安装。到此为止,一个标准的 Rails 项目骨架就搭好了。
骨架虽然能用,但实际开发多少得按需求调调配置。比如时区、数据库这些,默认值往往不是我们想要的。
Rails 默认用 UTC 时区。如果项目只在国内跑,那所有时间数据都会比北京时间晚 8 个小时——显然不合适。所以除非是国际性项目,否则建议把时区改到国内。
打开 config/application.rb,找到 config.time_zone 配置项,去掉注释,把值改成 Beijing,再额外加一行:
config.active_record.default_timezone = :local
这样 Rails 在读写数据库时也会使用本地时间,一劳永逸。
默认用的是 SQLite,如果你要切到 MySQL,得先装好 MySQL 的程序包,然后改数据库配置。
先打开 Gemfile,添加一个全局依赖:
gem 'mysql2'
然后 bundle install 把包装上。
接着打开 config/database.yml,把 development 区块改成类似下面的样子:
development: adapter: mysql2 database: blog username: root password: host: 127.0.0.1
密码根据实际情况填写,其他环境(test、production)也类似处理。
对于老手来说,这一步可能可有可无;但新手(比如当年的我)经常会翻手册找方法,网速不好或者离线的时候就特别头疼。Rails 提供了在项目里生成本地文档和 API 文档的命令,把资料搬到本地,用起来方便多了。
首先需要加一个依赖包:redcarpet。因为它只在本地开发时用,所以不用放到全局依赖。找到 Gemfile 底部的 development 配置块,加进去:
gem 'redcarpet', '~> 3.1.2'
然后 bundle install 安装。
接着执行下面两条命令:
rake doc:guides rake doc:rails
文档会自动生成到 doc 目录,之后直接本地浏览器打开就能查阅。
开发 Web 应用时,经常需要在终端跑一些脚本来处理特定任务,比如从一个大文件里导入数据。Rails 解决这个问题非常轻量,下面举个简单的例子。
在 lib/tasks 目录下新建一个 hello.rake 文件,内容如下:
namespace :hello do task :world do puts "Hello, World!" end end
这样就定义了一个打招呼的任务。运行它只要用 rake 命令:
rake hello:world
不过默认情况下,这个脚本没法直接访问项目里的模型、数据库那些东西。如果想让脚本能调用项目里的模块也很简单——加上 => :environment 就行。比如我想给所有客户打个招呼:
namespace :hello do
# ...
task :customers => :environment do
for customer in Customer.all
puts sprintf("hello, %s", customer.name)
end
end
end
如果你的项目里正好有 Customer 模型,而且它有 name 字段,那直接执行 rake hello:customers 就能看到效果。对比第一个任务,其实就是多了 => :environment 这串代码——它负责把整个 Rails 环境加载进来。是不是很简单?
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8