Ruby:变量作为表名

时间:2016-08-23 11:07:31

标签: ruby variables tablename

我正在寻找一种方法来将变量用作表名。

实际上它看起来像这样:

@user = User.new

但是,我可以这样做吗

wrktablename = "User"
@my_table = wrktablename.new

请注意, wrktablename 实际上可以是表名的不同值。

另外还要提一下:我没有变量之外的模型名称或表名。 但我需要使用wrktablename.newwrktablename.find等所有功能。

2 个答案:

答案 0 :(得分:5)

要根据变量中的类名实例化对象,可以使用Object.const_get(wrktablename).new

答案 1 :(得分:2)

如果您使用Ruby on Rails,您可以这样做:

"class name".constantize.new