如何在Sequel中将变量传递给DB.from?

时间:2014-02-19 20:31:45

标签: ruby sequel

我刚开始在Ruby中使用Sequel,并且很喜欢它。

我想将变量传递给“from”方法。所以不要像这样调用一个方法:

DB.from(:items)

我想用变量调用该方法。例如:

# both of the following approaches fail
tableName = "items"
DB.from(tableName)
DB.from(:tableName)

但它失败了一个sql错误,关于一个不在我的变量中的值。我不认为这是一个续集问题......我认为这是“ 我是Ruby ”的新问题。

如何将变量传递给上面的 方法?

1 个答案:

答案 0 :(得分:3)

使用String#to_sym方法执行以下操作:

DB.from(tableName.to_sym)

查看Sequel::Database#from的文档,它似乎接受所有参数作为符号。因此,您需要将局部变量tableName指向的字符串对象转换为符号对象。