2014年3月19日
摘要: 今天在linux虚拟机下安装了node的最新版本,最开始把压缩包直接放在vagrant共享目录下解压,结果在最后报tar: node-v0.10.26-linux-x86/bin/npm: Cannot create symlink to `../lib/node_modules/npm/bin/npm-cli.js': Protocol errortar: Exiting with failure status due to previous errorsroot@precise32:/vagrant# tar: node-v0.10.26-linux-x86/bin/npm: Ca 阅读全文
posted @ 2014-03-19 20:51 秋叶leaf 阅读(2305) 评论(0) 推荐(0)
  2014年3月17日
摘要: require,load用于文件,如.rb等等结尾的文件。include,load则用于包含一个文件中的模块。require 一般情况下用于加载库文件,而load则用于加载配置文件。1 require:加载一个库,并且只加载一次,如果多次加载会返回false。只有当要加载的库位于一个分离的文件中时才有必要使用require。使用时不需要加扩展名,一般放在文件的最前面:require ‘test_library’2 load:load用来多次加载一个库,必须指定扩展名:load ‘test_library.rb’3 extend:在定义类时使用,把module的实例方法作为当前类的类方法.mod 阅读全文
posted @ 2014-03-17 17:11 秋叶leaf 阅读(890) 评论(0) 推荐(0)
摘要: 1 describe "Home page" do2 3 it "should have the content 'Sample App'" do4 visit '/static_pages/home' #使用了Capybara中的visit函数来模拟在浏览器中访问/static_pages/home的操作5 expect(page).to have_content('Sample App') #使用了Capybara中的page变量来测试页面中是否包含了正确的内容6 end7 end 阅读全文
posted @ 2014-03-17 00:27 秋叶leaf 阅读(161) 评论(0) 推荐(0)
  2014年3月16日
摘要: 因为Rails使用安全权标来加密会话,所以生成Rails项目后,需要修改默认的secret_token文件。将config/initializers/secret_token.rb里自动生成的字符串改为:require 'securerandom'def secure_token token_file = Rails.root.join('.secret') if File.exist?(token_file) # Use the existing token. File.read(token_file).chomp else # Generate a new 阅读全文
posted @ 2014-03-16 16:31 秋叶leaf 阅读(284) 评论(0) 推荐(0)
摘要: 第一步:下载MongoDB安装包MongoDB的官网:http://www.mongodb.org第二步:解压压缩包tar -zxvf mongodb-linux-i686-2.0.2.tgz第三步:安装准备将mongodb移动到/usr/local/mongdb文件夹mv mongodb /usr/local/mongodb或者[root@localhost mongodb-linux-i686-2.0.2]rsync -a bin /usr/local/mongodb创建数据库文件夹(默认的数据库文件的位置是/data/db,启动时会自动创建)mkdir /usr/local/mongod 阅读全文
posted @ 2014-03-16 11:25 秋叶leaf 阅读(875) 评论(0) 推荐(0)
  2014年3月14日
摘要: 1 只测试匹配到的字符串涉及的specsrspec -e expect(page).to have_content2 只测试指定文件rspec spec/requests/static_pages_spec.rb3 指定文件并指定字符串rspec spec/requests/static_pages_spec.rb -e expect(page).to have_content 阅读全文
posted @ 2014-03-14 15:25 秋叶leaf 阅读(467) 评论(0) 推荐(0)
摘要: 1 新建一个gem:> bundle gem my_mongoid create my_mongoid/Gemfile create my_mongoid/Rakefile create my_mongoid/LICENSE.txt create my_mongoid/README.md create my_mongoid/.gitignore create my_mongoid/my_mongoid.gemspec create my_mongoid/lib/my_mongoid.rb create my_mongoid/lib/my_mongoid/version.rb新建gem所依 阅读全文
posted @ 2014-03-14 11:53 秋叶leaf 阅读(532) 评论(0) 推荐(0)
摘要: Vagrant,基于Ruby开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。一. 下载资源:1 下载安装 VirtualBox :https://www.virtualbox.org/2 下载安装 Vagrant :http://www.vagrantup.com/3 下载需要使用的 box :官方提供的范例:http://files.vagrantup.com/precise32.box还可以在 http://www.vagrantbox.es/ 这里下载更多不同系统甚至是已经配置好环境直接可以用的box,虽然可以直接在Vagrant直接使用网址,由Vagrant 阅读全文
posted @ 2014-03-14 10:25 秋叶leaf 阅读(909) 评论(0) 推荐(0)
  2014年3月12日
摘要: 1 Kernel#eval() , 它不是使用块,而是直接使用包含Ruby代码的字符串--简称为代码字符串.Kernel#eval()方法会执行字符串中的代码,并返回执行结果:1 array = [10,20]2 element = 303 eval("array[10,20,30]2 Binding就是一个用对象表示的完整作用域.可以通过创建Binding对象来捕获并带走当前的作用域.接下来,可以通过eval()方法,instance_eval()方法或class_eval()方法,在Binding对象所携带的作用域中执行代码.可以使用Kernel#binding()方法来创建Bi 阅读全文
posted @ 2014-03-12 18:19 秋叶leaf 阅读(292) 评论(0) 推荐(0)
  2014年3月5日
摘要: 1 所有使用def定义的方法都成为当前类的实例方法.2 Module#class_eval()方法会在一个已存在类的上下文中执行一个块:1 def add_method_to(a_class)2 a_class.class_eval do3 def m; 'Hello!'; end4 end5 end6 7 add_method_to String8 "abc".m #=> 'Hello!'3 当self不是一个类时,当前类的角色由self的类来充当.处于顶级作用域时,此时当前类是Object----main对象的类.这也就是为什么当在 阅读全文
posted @ 2014-03-05 20:42 秋叶leaf 阅读(296) 评论(0) 推荐(0)