小编P. *_*oro的帖子

Ruby Prepend Module - 如何从父类将模块添加到祖先数组的开头

我有这样的代码:

module ModuleToPrepend
  def perform(*args)
    puts args
    super
  end
end

class Base
  prepend ModuleToPrepend
end

class Child < Base
  def perform(*args)
    do_something(args)
  end
end
Run Code Online (Sandbox Code Playgroud)

我正在寻找在每次Child.new.perform调用之前打印方法参数的解决方案。我想ModuleToPrepend在 class 中祖先列表的开头添加一个模块Base。我不想把它放在一个类中,Child因为有数百个。

我的代码返回这个:Child.ancestrors #=> [Child, ModuleToPrepend, Base] 我想要这个:Child.ancestrors #=> [ModuleToPrepend, Child, Base]

可以在 ruby​​ 中完成吗?

ruby ruby-on-rails

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

在JSON请求中发送null数组-Rails 5

我需要发送请求给我的Rails API中包含的关键:ids: [null, 1, 2, null, 3]。不幸的是,Rails削减了该数组中的所有null,因此params[:ids]返回了[1, 2, 3]。我需要数组中的那些空值。

如何防止Rails移除它们?我可以发送空字符串而不是null,但这不是很优雅。

ruby ruby-on-rails ruby-on-rails-5

0
推荐指数
1
解决办法
406
查看次数

fetch(:key,nil)vs fetch(:key){nil}.哪个更有效率?

我曾被告知要使用fetch(:key) { nil }而不是fetch(:key, nil)因为即使nil需要一些内存,只有在找不到密钥时才更好地评估它.

我不确定这是否正确.这个块也不会占用一些内存吗?有没有办法检查这个?

ruby

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

标签 统计

ruby ×3

ruby-on-rails ×2

ruby-on-rails-5 ×1