我的Mac OS X有一个默认的ruby.
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)
我安装了rbenv和ruby版本2.1.2.
$ rbenv versions
system
* 2.1.2 (set by /Users/sdw/.rbenv/version)
Run Code Online (Sandbox Code Playgroud)
我试图将全局ruby版本设置为2.1.2,但没有任何反应.
$ rbenv global 2.1.2
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)
所以我试着用命令做同样的事情sudo,但结果是一样的.
$ sudo rbenv global 2.1.2
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)
如何将我的全局ruby版本更改为2.1.2?我从未安装过rvm或其他ruby版本管理系统.
** 控制器
puts merchants.first.is_blocked // 1
Merchant.update_all( {:is_blocked => 0}, "mch_id IN (#{@merchants.map(&:mch_id).join(",")})" )
puts merchants.first.is_blocked // 0, so it works
Run Code Online (Sandbox Code Playgroud)
** 规格
expect {
get :update_merchants, params
}.to change { merchant_1.is_blocked }.from(1).to(0)
// result should have been changed to 0, but is now 1
Run Code Online (Sandbox Code Playgroud)
我不知道为什么“update_all”方法在控制器中有效而在 rspec 中无效
我在我的本地安装了一些项目git clone some_url,并且我确实bundle install将gems安装到我的本地.
并且我移植了克隆的数据库,rake db:migrate然后我收到了这条消息.
undefined method `add_foreign_key' for #<SomeMigrationFileName:0x0000000....> ...
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
ps:这是MYSQL的问题吗?gem 'mysql2'语句已存在于我的Gemfile,但当我命令时bundle install,我在安装MYSQL期间收到安装错误消息.
所以我用mysql安装, brew install mysql