小编Ich*_*Ich的帖子

Rails 4.1枚举:enum.status = nil

我尝试了rails 4.1的新枚举功能并且遇到了一些麻烦.

我的模型看起来像这样:

class Report < ActiveRecord::Base
  after_save :notify_clients
  before_update :update_progress
  before_create do
    self.status ||= 'started'
  end

  enum status: %w{started active fail success}

  #...
end
Run Code Online (Sandbox Code Playgroud)

如果我尝试在我看来这样使用它:

.item{class: @report.status, data: {id: @report.id}}
Run Code Online (Sandbox Code Playgroud)

我会在浏览器中看到这个

<div class="item" data-id="25">
Run Code Online (Sandbox Code Playgroud)

我试图找出status实际使用的内容rails console:

  [11] pry(main)> Report.all.sample.status
    Report Load (0.3ms)  SELECT `reports`.* FROM `reports`
  => nil
  [12] pry(main)> Report.all.sample.status
    Report Load (0.2ms)  SELECT `reports`.* FROM `reports`
  => nil
  [13] pry(main)> Report.all.sample.status
    Report Load (0.3ms)  SELECT `reports`.* FROM `reports`
  => nil
  [14] pry(main)> Report.all.sample.status …
Run Code Online (Sandbox Code Playgroud)

enums activerecord ruby-on-rails-4.1

8
推荐指数
1
解决办法
3226
查看次数

同一台机器上的多个 docker 客户端

由于我经常使用 docker 和 docker-machine,因此我必须同时使用多个 docker 版本。我们都知道这有多难:

$ docker ps
Error response from daemon: client is newer than server (client API version: 1.23, server API version: 1.22)
Run Code Online (Sandbox Code Playgroud)

所以,我的问题:(如何)是否可以在我的 Ubuntu 16.04 上运行多个版本的 docker 客户端?理想情况下,一旦我输入带有docker-machine.

旁注:我知道如何更新客户端或服务器。但我仍然必须使用不同的版本。

ubuntu docker docker-machine

5
推荐指数
1
解决办法
2251
查看次数