Ruby on Rails初识

1、创建 Rails 项目,例如:rails new shop

项目创建的文件:

①app文件夹:我们的业务逻辑文件存放地,在后面的教程里,我们会经常为它增加内容

②config 文件夹:这里存放的是 Rails 的配置文件。首先,打开 environments 文件夹,我们可以看到三个文件,这分别对应 Rails的三种运行环境,我们开始时候使用的是 development 环境,运行测试时是 test环境,当我们把代码部署到服务器上,正式上线的时候,使用的是 production 环境。Rails 允许我们分别为三种环境做不同的设置,比如,production 中config.assets.digest = true,而开发环境可以设为config.assets.digest = false。Rails 还为我们提供了 I18n 的管理功能,这里还只有 en.yml 一种语言包,后面的课程里,我们将详细介绍 I18n 功能,并添加简体中文和英文语言包。database.yml 中配置了数据库信息。Rails 默认使用 sqlite 数据库作为开发使用。我们也可以更改它,在 new 的时候这样做:rails new shop -d mysql|oracle|postgresql|...routes.rb 是我们的路由文件,一个非常重要的文件。secrets.yml 中的配置分别对应三种运行环境,它是用来加密我们的 session 的。

③db 文件夹:如果你使用的是 sqlite 数据库,那么你会发现它存放在这里。sqlite 是一种小型的便于开发环境使用的数据库。在生产环境(production)的数据库,比如 mysql,postgres 等数据库文件,是不需要放到这里的。migrate 文件夹中,存放的是我们的数据库迁移文件,这里还有一个 seeds.rb 文件,可以用它来为项目创建一些初始数据。

④lib 文件夹:lib,在我们开发 Rails 项目是,会经常的扩展一些功能,而这些功能具有复用的特点时,可以把代码放到 lib 中。这里我想到了 Rails 的一条哲理:Convention Over Configuration,约定优于配置。我们扩展的功能文件,可以放到任何可被夹在的目录下,但是,那违背了 Rails 的这条哲理。

⑤log 文件夹:这里存放的是日志文件,我们可以看到它对应了上面的三种运行环境,Rails 把每一种运行环境的 log,都单独的存放。

⑥public 文件夹:这里存放的是静态文件,比如图片,html,还有编译好的 js,css 等。

⑦test:这里是测试文件,我们编写项目的同时,也会带领大家编写对应的测试代码。不过,我们使用 Rspec 进行测试,测试文件放到 spec 文件夹里。

⑧vendor 文件夹:这是第三方代码库,比如我们 clone 下来的 gem,下载的 js 库等。

⑨Gemfile 文件:在之前的讲解中,我们经常提到 Gem。Gem,是 Ruby 编写的代码库的发布包。一个 Gem 中还可以包含了其他一些 Gem,比如,Rails 就是个 Gem,其中还包含了activerecord,activesupport 这些 Gem。可以说,Rails 就是一大堆 Gem 的集合。Rails 是通过 Gemfile 文件,来管理众多 Gem 的。打开 Gemfile,可以看到我们的项目使用了 Rails 4.2.0 这个版本的 Gem,使用了 sqlite3 这个数据库,以及其他的一些 Gem,这都是 Rails 4.2.0 默认使用的。我们是可以修改这个文件,每次修改之后,我们需要bundle install,它会把 Gem 的版本号和互相间的依赖关系重新的配置一遍,并且会自动的更新 Gemfile.lock 这个文件,然后安装 Gefile.lock 中声明的 Gem。所以,即便我们使用不同的开发机器,只要 Gemfile.lock 相同,我们就会安装相同的 Gem,以保持每个开发机器使用相同的开发和运行环境。

⑩Rakefile:Rails 为我们提供了很多便捷的 rake 任务,我们通过rake -T可以看到,如果加上rake -T -D,可以看到详细的说明。当然,我们也可以自己编写 rake,把它们放到 lib/tasks/里面,扩展名是 .rake。

⑪README.md 文件:为你的项目写一份 Readme 是很有帮助的,你有注意到.md 这个格式么?它是 markdown 格式,目前最流行的书写格式,本书也是用 markdown 写成的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343