Rails - 变量作为方法名称的一部分

发布于 2024-12-08 21:32:05 字数 406 浏览 1 评论 0原文

可能的重复:
使用字符串调用函数Ruby 中的函数名称

我想做这样的事情:

  def self.greater_than(col_str='events')
    self."#{col_str}"_greater_than(30) # search logic scope method
  end

如何才能正确调用它?我猜语法可能类似于创建动态方法。

Possible Duplicate:
Calling a Function From a String With the Function's Name in Ruby

I want to do something like this:

  def self.greater_than(col_str='events')
    self."#{col_str}"_greater_than(30) # search logic scope method
  end

How can I get this to call properly? I'm guessing the syntax is probably similar to creating a dynamic method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

两相知 2024-12-15 21:32:05

您可以尝试使用 send

send("#{col_str}_greater_than".to_sym, 30)

You could try using send

send("#{col_str}_greater_than".to_sym, 30)
那支青花 2024-12-15 21:32:05

试试这个

def self.greater_than(col_str='events')
  self.send("#{col_str}_greater_than", 30) # search logic scope method
end

Try this

def self.greater_than(col_str='events')
  self.send("#{col_str}_greater_than", 30) # search logic scope method
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文