0

我在/lib/文件夹下有很多不同的类,有很多动作。

在保存一个对象之前,我需要从一个类中调用一个方法,该类的名称与对象内部的一个属性相匹配,即给定这个

User.gateway = "something"

在保存对象之前,我需要myfunction从类中调用。something

不知道该怎么做。

4

2 回答 2

1

恒定化和分类将为您完成工作。假设你有:

class Foo
end

"foo"字符串。你可以做:

"foo".classify.constantize.new.myfunction
于 2012-06-02T16:55:24.323 回答
1

你的问题很模糊,这是你需要的吗?

# user.rb
before_save :myfunction

protected

def myfunction
   g = self.gateway
   case g 
   when String | Symbol 
     begin
       g.classify.constantize.myfunction
     rescue NameError
       # if there is no something class
     end
   else
     # no good value
   end
end

    enter code here
于 2012-06-02T16:55:47.637 回答