1.Gemfile中如果某个gem和其他的gem冲突可以这样写:
$ gem 'cucumber-rails', '1.4.0', :require => false
这样写的意思是在加载的时候不加载这个gem但是项目需要有这个gem。然后在需要的地方require这个gem就行了。
2.Gemfile中如果某个gem的后跟版本信息里~>的意思是:
For example "~> 1.2" will update your gem to 1.3 (if such a version is released) but it won’t update it to 2.0。
3.在数据库的设置database.yml里,(不知道为什么)development的username必须要是root但是test的username就不必如此。否则的话运行创建语句就会报错。
$ rake db:create RAILS_ENV=development
4.初始化测试数据库
$ bundle exec rake test:prepare
5.render 'shared/error_messages'报错ActionView::MissingTemplate:
原因是局部视图的命名规则,render去查找局部视图时是在名称前面加下划线的,所以局部视图名称应该是_error_messages而不是error_messages。
6.当前部署环境的域名:
request.original_url
7.默认情况下帮助函数只可以在视图中使用,不能在控制器中使用,而我们需要同时在控制器和视图中使用帮助函数,所以我们就手动引入帮助函数所在的模块。在applicationController中加入include XXXXHelper
8.update_attribute可以跳过Model的validation验证