sudo chown -R $(whoami):admin /usr/local 修改 目录权限
出现这个错误,先更新brew版本
Ruby
Ruby版本管理:rvm/rbeny RVM
历史
Ruby on Rails 简称Rails,是一个开源的敏捷的web开发框架,并致力于给开发人员带来更大的乐趣和更高的开发效率。
配置环境
安装gpg
$ brew install gpg
安装RVM
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
安装完rvm 要重新开终端,否则会报
/config/db: no such file or directory
修改源 https://ruby.taobao.org/
$ sed -i .bak -E 's!https?://cache.ruby-lang.org/pub/ruby!https://ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
$rvm install 2.2(版本号)
终端推荐: iTerm
shell推荐: [zsh](https://github.com/robbyrussell/oh-my-zsh)
编辑器推荐:sublime text/vim/rubymine/atom
代码风格:
* 不要用tab,要用空格缩进
* 一般缩进两个空格
安装需要的工具(库)
$ brew install sqlite
$ brew install redis (一个存储系统,数据库 与memcached比较)(缓存、nosql计算统计)
$ brew install imagemagick (图形处理)
通过taobao源替换gem默认源
后执行
$ gem install bundler
安装rails
$ gem install rails
命令行
* ctrl+a 起始位置
* ctrl+e 末尾
* grep 搜索
* ps aux | nginx 看进程
* 管道命令
开始
1)
$ rails new demo 新建项目(可以加-t)
$ rails help new 帮助文档
2)
更改Gemfile文件(添加插件和第三方依赖)(修改文件见群里老王)
后执行
$ bundle install
3)
进入目录
$ rails server 启动项目 (rails server -p 3001 给该项目指定一个端口号,不跟其他项目冲突)
$ rails g
4)
(下面是配置已安装的第三方依赖)
$ rails g annotate:install model注释
$ rails g config:install
$ rails g rspec:install rspec测试
$ rails g simple_form:install
$ rails g rails_kindeditor:install
5)
配置更改spec/rails_helper.rb (修改文件见群里老王)
6)
在config/application.rb中class添加时区信息 (修改文件见群里老王)
7)
thin服务启动工具命令:
$ thin start前台启动
$ thin start -d 后台启动
$ thin restart 重启
代码
类在Ruby中就像常量,常量所有的功能,它都有。
$ rails g model project title:string photo:string description:string content:text
$ rake db:migrate 数据迁移
如果想在其他环境中运行迁移,必须在命令中指明:
rake db:migrate RAILS_ENV=production
。
spec/factories/projects.rb 写测试
$ rspec 执行测试
写测试
spec
factories 基础定义
models 针对factories的测试
rails g controller [name] index show 只创建包含index和show的view的controller
rails g rspec:feature show_project_list 创建controller的测试
单元测试 'shoulda-matchers', '~> 3.0'(https://github.com/thoughtbot/shoulda-matchers)
模拟测试 capybar
自动生成模拟数据 Faker (https://github.com/stympy/faker)
TEST_DRIVER=webkit rspec 浏览器测试
路由
resources生成7个action和路径
@符号可以在view中直接使用
params参数
模板 <%=输出/<%不输出
生成后台 $ rails g scaffold_controller admin/projects 会自动建好所有方法的view
删除
rails destroy
scaffold_controller
admin/projects
测试后台 $ TEST_DRIVER=webkit rspec spec/features/admin_projects_spec.rb