您的位置:首页 > 大数据 > 人工智能

Rails读书笔记第一章

2015-10-11 04:07 302 查看
所有Rails的应用都采用了MVC的设计框架,并且能够自动生成Model、View和Controller之间的关联。java中Tapestry和Structs是基于MVC框架的。
当你向应用中添加新功能时,Rails会自动为这个新功能创建测试。
术语解释:

Gems 是Ruby的打成包的libraries,类似jar包。gem文件中有代码(.rb),有tests,还有说明(gemspec)。说明中有gem的名称,dependencies和版本等信息。
rubygems是用来管理gems的,一个package manager。
Bundler是用来根据gemfile来安装gems的。如果用gem install命令安装要一个个的,但bundler install可以直接把gemfile里的dependencies全部安装。
RVM是用来控制ruby版本的,在同一台机器上可能装了多版本的ruby。
一个gemset是RVM针对某个project的gems集合

安装Rails

Windows下使用RailsInstaller进行安装。
在使用bundle install时报错(由于在Windows下可能bundle没有SSL认证什么原因之类的),下载一个认证文件cacert.pem到RailsInstaller的根目录,然后添加一个名为SSL_CERT_FILE的系统变量,值为cacert.pem的本地文件路径。
使用cmd要用管理员身份运行,更新gem:
gem update
其中pg(postgresql)安装出错,(可能是因为最新版的pg不支持windows版本?)。在https://rubygems.org/gems/pg/versions可以查看pg的版本,然后尝试gem install pg -v 0.18.3 --platform=x64-mingw32(没成功),或者先安装postgresql,并把libpq.dll放进PATH里(没试过)。

后面可能会遇到Execjs错误,是由于ExecJS和本机的JavaScript runtime不能正常沟通。下载安装Node.js即可。

使用cs290的虚拟机,运行虚拟机后,可以在cygwin下通过ssh cs290@localhost 使用该虚拟机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: