如何将数据字段写成Ruby代码?

如何将数据字段写成Ruby代码?,ruby,Ruby,我在数据库中存储类似select*的sql,这些sql来自owner_id={@current_user.id}的类。 有谁能告诉我如何将上述sql编写为ruby代码,以便{@current_user.id}可以动态替换为当前登录用户的id吗?如果不考虑任何安全性/输入验证,您可以这样做: q_template = "select * from classes where owner_id = %s" sample_input = "40" new_query = q_template % s

我在数据库中存储类似select*的sql,这些sql来自owner_id={@current_user.id}的类。
有谁能告诉我如何将上述sql编写为ruby代码,以便{@current_user.id}可以动态替换为当前登录用户的id吗?

如果不考虑任何安全性/输入验证,您可以这样做:

q_template = "select * from classes where owner_id = %s"
sample_input = "40"
new_query = q_template % sample_input
# this will create     q_template = "select * from classes where owner_id = 40"
要填充它,您可以这样做:

q_template = "select * from classes where owner_id = %s"
sample_input = "40"
new_query = q_template % sample_input
# this will create     q_template = "select * from classes where owner_id = 40"

如果您最终使用了此功能,请确保在将输入内容输入到数据库之前检查是否存在恶意内容。

Uh。。。和你的一模一样?很有效!!!你真棒!我甚至可以在数据库中存储变量,比如'select*from users,其中id=%@id'。我这样问的原因是因为我试图构建一个完全由数据库驱动的动态表单。因此,我无法知道在我的代码中要分配什么以及多少个参数。我不太明白您想要实现什么。