我刚开始在Ruby中使用Sequel,并且很喜欢它。
我想将变量传递给“from”方法。所以不要像这样调用一个方法:
DB.from(:items)
我想用变量调用该方法。例如:
# both of the following approaches fail
tableName = "items"
DB.from(tableName)
DB.from(:tableName)
但它失败了一个sql错误,关于一个不在我的变量中的值。我不认为这是一个续集问题......我认为这是“ 我是Ruby ”的新问题。
如何将变量传递给上面的 方法?
答案 0 :(得分:3)
使用String#to_sym
方法执行以下操作:
DB.from(tableName.to_sym)
查看Sequel::Database#from
的文档,它似乎接受所有参数作为符号。因此,您需要将局部变量tableName
指向的字符串对象转换为符号对象。