Tag: ruby

什么是Ruby的捆绑器/ Perl的纸箱的Python等价物?

我知道virtualenv和点子。 但是这些与捆绑包/纸箱有些不同。 例如: pip写入shebang的绝对path或激活脚本 pip没有exec子命令( bundle exec bar ) virtualenv将Python解释器复制到本地目录 每个Python开发者都使用virtualenv / pip吗? 还有其他的Python包pipe理工具吗?

将一个对象数组转换为ActiveRecord :: Relation

我有一个对象的数组,我们称之为Indicator 。 我想在这个数组上运行Indicator类的方法(那些def self.subjects变种,作用域等等)。 我知道在一组对象上运行类方法的唯一方法是让它们成为ActiveRecord :: Relation。 所以我最终诉诸添加to_indicators方法到Array 。 def to_indicators # TODO: Make this less terrible. Indicator.where id: self.pluck(:id) end 有时我链接了相当多的这些范围来筛选结果,在类方法中。 所以,即使我调用一个ActiveRecord :: Relation方法,我不知道如何访问该对象。 我只能通过all的内容来了解​​它的内容。 但是all都是一个数组。 那么我必须将该数组转换为ActiveRecord :: Relation。 例如,这是其中一种方法的一部分: all.to_indicators.applicable_for_bank(id).each do |indicator| total += indicator.residual_risk_for(id) indicator_count += 1 if indicator.completed_by?(id) end 我想这可以归结为两个问题。 如何将一个对象数组转换为一个ActiveRecord :: Relation? 最好不要每次都做一次。 在ActiveRecord :: Relation上运行def self.subjectstypes方法时,如何访问ActiveRecord :: Relation对象本身? 谢谢。 […]

为什么特征类不等于self.class,看起来如此相似呢?

我已经错过了备忘录,我希望你能向我解释这个。 为什么对象的特征类与self.class不同? class Foo def initialize(symbol) eigenclass = class << self self end eigenclass.class_eval do attr_accessor symbol end end end 我的一系列逻辑把特征阶级和class.self我们相当简单: class << self是一种声明类方法的方法,而不是实例方法。 这是def Foo.bar的快捷方式。 所以在对类对象的引用中,返回self应该和self.class 。 这是因为class << self将class << self设置为Foo.class来定义类方法/属性。 我只是困惑? 或者,这是Ruby元编程的诡计吗?

以DRY方式将多个错误类传递给ruby的救援条款

我有一些代码需要在ruby中拯救多种types的exception: begin a = rand if a > 0.5 raise FooException else raise BarException end rescue FooException, BarException puts "rescued!" end 我想要做的是以某种方式存储我想要救援的exceptiontypes列表,并将这些types传递给rescue子句: EXCEPTIONS = [FooException, BarException] 接着: rescue EXCEPTIONS 这甚至是可能的,是否有可能没有一些真正的黑客调用eval ? 我没有希望,因为我看到TypeError: class or module required for rescue clause当我尝试上述的TypeError: class or module required for rescue clause 。

如何从terminal运行Ruby代码?

我需要从terminal运行几行Ruby代码,但是我找不到所需的参数。 你能解释一下如何做到这一点?

Ruby中的fail关键字是做什么的?

我正在学习Ruby,遇到了fail关键字。 这是什么意思? if password.length < 8 fail "Password too short" end unless username fail "No user name set" end

在Ruby中find文件名的扩展名

我正在研究Rails应用程序的file upload部分。 应用程序对不同types的文件进行不同的处理。 我想制作某些文件扩展名的白名单来检查上传的文件,看看他们应该去哪里。 所有的文件名都是string。 我需要一种方法来检查只有文件名string的扩展部分。 文件名都是“some_file_name.some_extension”的格式。

在Array中查找值

如何在Ruby中使用Ruby 1.8.7在数组中find值?

通过自制程序安装memcached,如何启动和停止服务器?

我有memcached安装通过自制软件。 我该如何启动/停止服务器? 任何命令行工具与memcached交互? 自制软件有删除包的方法吗?

Rails回形针如何删除附件?

我在Rails 3上使用Paperclip (w / Amazon s3)。我想删除一个现有的附件, 而不用使用更新操作来replace它 。 我只在这里find一个这样的例子,不能得到这个工作,它只是不会删除,并没有什么在日志中说明为什么。 我想在表单上做这样的事情: <%- unless @page.new_record? || !@page.image? -%> <%= f.check_box :image_delete, :label => 'Delete Image' %> <%- end -%> (页面是模型的名称,图像是持有附件的属性名称) 但是,如何检测该checkbox,更重要的是,如何删除图像? 我感谢任何帮助!