小编Ven*_* Ch的帖子

Ruby私有方法是否可以在子类中访问?

我的代码如下:

class A
  private
  def p_method
    puts "I'm a private method from A"
  end
end

class B < A
  def some_method
    p_method
  end
end

b = B.new
b.p_method    # => Error: Private method can not be called
b.some_method # => I'm a private method from A
Run Code Online (Sandbox Code Playgroud)

b.some_method调用在类中定义的私有方法A.如何在继承它的类中访问私有方法?在所有面向对象的编程语言中,这种行为是否相同?Ruby如何封装?

ruby private-methods

10
推荐指数
1
解决办法
5329
查看次数

Rails:“bundle open Rails”命令未打开 Rails gem 文件夹

bundle open rails我正在尝试使用本地系统中的命令打开 Rails gem 文件夹。为此我已经export EDITOR='subl -w'.bashrc文件中设置了。

我不确定为什么它不适用于railsgem,当我尝试打开 Gemfile 中列出的其他 gem 时,它工作正常。

  • 崇高3
  • 乌班图12.04

对我做错了什么有帮助吗?

rubygems ruby-on-rails bundler sublimetext3

7
推荐指数
1
解决办法
1995
查看次数

如何使用NullRelation实现ActiveRecord"none"方法?

我想了解none介绍的方法Rails4.

这是从中实现的 Rails API

def none
  where("1=0").extending!(NullRelation)
end
Run Code Online (Sandbox Code Playgroud)

而且我发现类似的实现这里Rails3方法.

scope :none, where(:id => nil).where("id IS NOT ?", nil)
Run Code Online (Sandbox Code Playgroud)

谁能帮助我了解这个方法是如何与实施NullRelationRails4和优势?

activerecord ruby-on-rails

7
推荐指数
1
解决办法
443
查看次数

是否可以在未运行的容器中获得 bash 访问权限?

我能够成功运行 Flask API 容器。但在应用程序执行期间,它会失败并因某种原因停止容器。

我检查了容器日志,发现出现了一些文件丢失错误。现在我想通过访问/bin/bash已停止的容器来调试丢失的文件。但它会抛出一个错误,指出容器未运行。

docker exec -it 容器 /bin/bash

是否有任何解决方法可以访问bashSTOPPED 容器?

bash containers docker

7
推荐指数
2
解决办法
6889
查看次数

如何备份 docker 卷?

我正在使用命名卷将数据保存在云中的主机上。

我想备份 docker 环境中存在的这些卷,以便我可以在重大事件中重用它们。

几乎决定写一个python脚本来压缩主机上的指定目录并将其推送到AWS S3。

但我想知道是否还有其他方法可以解决这个问题?

backup docker docker-volume

6
推荐指数
1
解决办法
7115
查看次数

实例和类的 ActiveRecord 事务块有什么区别?

Active Record Transactions在我当前的任务中使用。我能够以下面提到的两种方式完成我的工作。但我不清楚有什么区别,transactioninstanceclass.

我已经浏览了 Rails API,但没有注意到任何差异。

以下两种transaction方法用法有什么区别?

Account.transaction do
  balance.save!
  account.save!
end

balance.transaction do
  balance.save!
  account.save!
end
Run Code Online (Sandbox Code Playgroud)

提前致谢!

ruby activerecord transactions ruby-on-rails

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

MySQL 正则表达式:如何将字符串中的数字与 \d 匹配?

我有一列release_date以字符串格式存储日期(不是 DATETIME 格式。因为它们有时可以是任何其他字符串文字)。

我想根据给定的月份和年份查找所有记录,但具有任何日期。

尝试以下但对我不起作用,

> Post.find(:all, :conditions => ["release_date RLIKE ? AND deleted_at is null", "^\d{2}-01-2016"])
Run Code Online (Sandbox Code Playgroud)

当我通过提供直接日期尝试与以下相同的事情时,它工作正常。

> Post.find(:all, :conditions => ["release_date RLIKE ? AND deleted_at is null", "09-01-2016"])
Run Code Online (Sandbox Code Playgroud)

注意:-我正在使用Ruby On Rails 2MySQL

非常感谢您的帮助!

regex mysql ruby-on-rails

3
推荐指数
1
解决办法
2162
查看次数

如何在声明后为空切片赋值

我试图将值分配给空切片,如下所示.

func main() {
    var s []int
    fmt.Println(s, len(s), cap(s))
    s[0] = 99
}
Run Code Online (Sandbox Code Playgroud)

它会抛出异常,

恐慌:运行时错误:索引超出范围

注意:我知道通过在声明部分初始化值来实现此目的的一种方法,如下所示.但在上面的例子中,我试图在声明后分配一个值.

var s []int{99}
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

go slice

2
推荐指数
1
解决办法
1056
查看次数