可能重复:
Calling a Function From a String With the Function's Name in Ruby
我想做这样的事情:
def self.greater_than(col_str='events')
self."#{col_str}"_greater_than(30) # search logic scope method
end
如何才能正常通话?我猜测语法可能类似于创建动态方法。
答案 0 :(得分:12)
您可以尝试使用send
send("#{col_str}_greater_than".to_sym, 30)
答案 1 :(得分:0)
试试这个
def self.greater_than(col_str='events')
self.send("#{col_str}_greater_than", 30) # search logic scope method
end