我們希望在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