ruby on rails tutorila 笔记(第三章)
来源:互联网 发布:做淘宝排名是什么意思 编辑:程序博客网 时间:2024/06/03 03:45
本章将会从静态页面开始重构一个网站,以下是一些笔记记录
1)、rails newsample_app --skip-test-unit
上述命令中的--skip-test-unit选项的意思是让rails不生成默认使用的Test::Unit测试框架对应的test文件夹
2)、遇到问题
"Network error while fetching"
解决办法:遇到这类问题,一般都是代理配置的问题,以及source的写法的问题,确保这两者的配置没有问题一般就不会有问题
3)、bundle install –withoutproduction
我们使用该命令禁止安装生产环境所需的gem,这个选项运行一次一般会被记住,后续再次调用Bundle就不用再指定这个选项,直接运行bundle install就可以自动不安装生产环境所需的gem。
4)、config/initializers/secret_token.rb
动态生成权标:
require 'securerandom'
def secure_token
token_file = Rails.root.join('.secret')
if File.exist?(token_file)
# Use theexisting token.
File.read(token_file).chomp
else
# Generate a newtoken and store it in token_file.
token = SecureRandom.hex(64)
File.write(token_file, token)
token
end
end
SampleApp::Application.config.secret_key_base = secure_token
对于每一个新建的rails app都会获得一个很长而且是随机生成的secret token,当使用rails new的时候,他会被生成并保存在config/initializers/secret_token.rb,内容类似于以下:
WebStore::Application.config.secret_token=
'4f06a7a…72489780f'
因为rails自动创建secret token,所以很多开发者会忽略掉它。但是这个secret token就像是你的应用的管理员钥匙。如果你拥有了secret token,那样伪造会话和提升权限就会变得很容易。这是其中一个十分重要而且敏感的数据需要去保护的。加密是保护你的钥匙的最佳办法。
原文来自:http://www.oschina.net/translate/rails-insecure-defaults
4)、设置rails使用RSpec而不用Test::Unit,使用一下命令:
Rails generate repec:install
5)、创建控制器
Rails generate controller StaticPageshome help –no-test-framework
以上命令中的参数的意思是:禁止生成RSpec测试代码。
还可以通过命令来撤销操作,如以下命令:
Rails generate controller FooBars bazquux
Rails destroy controller FooBars bazquux
Rails generate model Foo bar:stringbaz:integer
Rails destroy model Foo
5)、通过以下命令来生成集成测试文件
rails generate integration_test static_pages
6)、通过运行以下命令来运行测试
Bundle exec rspec spec/requests/static_pages_spec.rb
7)、本章中使用到的几个gem包:
gem 'rspec-rails', '2.13.1'
gem 'guard-rspec', '2.5.0'
gem 'spork-rails', '4.0.0'
gem 'guard-spork', '1.5.0'
gem 'childprocess', '0.5.2'
使用Guard自动测试,使用rspec命令有一点很烦人,你总是要切换命令行然后手动输入的去执行命令测试。Guard会监视文件系统的变动,加入你修改了static_pages_spec.rb,那么只有这个文件中的测试会被运行,而且,我们可以适当的设置Guard,当被测试的文件发生变化的会自动去执行测试
8)、bundle exec spork --bootstrap
9)、bundle exec guard init spork
Spork和Guard一起使用时会很强大,我们可以使用以上命令进行设置。
修改完之后,我们可以通过Guard命令同时启动Guard和Spork
Bundle exec guard
- ruby on rails tutorila 笔记(第三章)
- Ruby on Rails教程第三章调试
- ruby on rails tutorial 笔记(第二章)
- ruby on rails tutorial 笔记 (第四章)
- ruby on rails学习笔记(一)
- ruby on rails 测试笔记(model)
- Ruby on rails 开发笔记(三)
- ruby on rails tutorail笔记(第一章)
- Ruby on Rails Tutorial 学习笔记 --第三章 基本静态的页面
- ruby on rails 框架笔记
- ruby on rails 入门笔记
- Ruby on rails学习笔记
- [Ruby On Rails] Rails 路由学习笔记
- Ruby on Rails 学习笔记(一 Ubuntu下配置Ruby on Rails)
- RoR(Ruby on Rails)????
- ruby on rails入门笔记(1)-数据库迁移
- Ruby On Rails 开发学习笔记(一)
- Ruby on rails 开发学习笔记(二)
- SharePoint 2010 Client Browser 客户端浏览器
- 天地图卫星地图在OpenLayers中的应用示例源码
- 【C语言复习(一)】auto、static、register、const、volatile关键字的分析
- windows以及linux获取系统时间
- fstab
- ruby on rails tutorila 笔记(第三章)
- 以前推广人员的工作,在这记录一下。
- 矢量数据与卫星地图叠加效果最完美的解决方案
- HTTP响应代码含义
- 获取浏览器高度
- linux学习之使用keepalived结合lvs搭建高可用负载均衡集群
- 简单明了的Window2003系统下同时安装sql2000与sql2005的方法
- 外链常见操作误区
- 爱摘苹果的小明