如何将ruby类的名称放在变量中?

时间:2014-01-22 16:59:31

标签: ruby-on-rails ruby

所以我将一个带有activerecord模型类名称的字符串传递给我的方法,我希望能够在该类上调用一些方法。

这是错误的:

def perform(body_class, body_id)
  body = body_class.constantize
  request = body.find(body_id)
end

更新 - 实际上工作正常。

1 个答案:

答案 0 :(得分:1)

你得到什么错误?确保字符串采用正确的ActiveRecord格式。

例如:

"Person".constantize # works
"person".constantize # does not work

要使第二个工作,您还应添加camelize

"person".camelize.constantize # works