我们希望在db中存储两个rails查询字符串和表名,并在运行时检索它们以便执行。下面是这种情况:如何使用rails 3.2.12中的字符串变量进行查询?
从customers
表中检索积极customer
记录。比方说,我们有2个变量定义为:
table_name = 'Customer'
query_string = ':active => true'
在轨,查询可能是:
records = Customer.where(:active => true)
与表名和存储在变量表名和QUERY_STRING查询字符串
现在,是有可能装配一个包含2个变量的查询字符串:
records = table_name.where(query_string) ?
感谢您的帮助。
is class_name ='Customer'in your answer?该字符串将从只读数据表中提取。如果数据表通常是安全的,那么这种编码实践还有其他风险吗? – user938363 2013-03-11 14:37:39
@ user938363:是的,'class_name ='Customer''。这个查询数据如何进入数据表?你想完成什么,你不能用范围和类方法做?对于拥有更优雅和可预测的解决方案的东西来说,这似乎是一种草率和难以维护的方法。 – PinnyM 2013-03-11 14:42:44
我们正在设计一个访问控制,并想描述访问并将其保存到表中。数据保存在数据加载过程中,只需更改入职数据,就可以灵活地适应未来的变化。我们的目的是避免数据驱动的代码更改。 – user938363 2013-03-11 16:45:19