我根据github方向安装了rbenv.我正在运行OSX,但我在Ubuntu 12.04 VM上尝试了这个并得到了相同的结果.当我尝试更改ruby版本时,以下是我在终端中获得的内容:
rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125
rbenv global
1.9.3-p0
rbenv rehash
ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]
which ruby
/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)
任何人都有任何想法为什么rbenv没有像它认为的那样切换ruby版本?此外,本地目录中没有.rbenv文件会导致ruby版本默认为1.8.7
rbenv local
rbenv: no local version configured for this directory
Run Code Online (Sandbox Code Playgroud) 有没有更好的方法在鱼壳中进行命令替换?
在bash我可以这样做:
~> echo $(whoami) => user
~> echo "I am: $(whoami)" = > I am: user
Run Code Online (Sandbox Code Playgroud)
但在鱼类看起来像我必须做的:
~> echo (whoami) => user
~> echo "I am: (whoami)" => "I am: (whoami)"
~> set who (whoami); echo "I am: $who" => I am: user
Run Code Online (Sandbox Code Playgroud)
这是在fish中进行命令替换的推荐方法,其中替换需要在带引号的字符串中发生吗?
我想知道在redis密钥到期后是否有人有一种聪明的方法来测试行为.我本质上是为我的应用程序构建一个小的redis支持的缓存,并希望测试redis密钥设置为过期后会发生什么.
我使用rspec作为我的测试框架.我尝试使用Timecop来改变测试期间的时间,但意识到它只会影响测试框架工作,而不会影响外部redis服务器.
我可以将TTL设置为1,然后使用睡眠(1),但我宁愿不在我的测试中引入睡眠.
有没有人有一个很好的测试方法?
我正在尝试编写一个允许任何字符串但不允许 nil 的活动记录验证。
validates_presences_of 的问题是它对于我想认为有效的“”或“”返回 false。
我也尝试过 validates_length_of :foo, :minimum => 0 ,但没有成功
我也尝试过 validates_length_of :foo, :minimum => 0, :unless => :nil? 这也不起作用。这两个都允许设置 nil 值并且验证仍然返回 true。
我在这里错过了什么吗?我觉得简单地验证该元素不为零不应该那么困难。