1
我有一個Ruby on Rails應用程序,我希望能夠動態選擇要返回到數據庫的字段。這就是我的意思:如何動態選擇字段在Rails中返回
假設我有一個名爲Dog的數據庫表,該表的字段爲「id」,「name」,「color」。
如果我想狗#7S的名字,我能明顯只是做:
d = Dog.find(7)
the_output = d.name
不過,我想要做的就是動態地選擇回什麼領域狗#7。因此,假設我已經定義:
the_field = "name"
我希望能夠做一些事情,如呼叫:
d.(the_field)
,並使其返回的狗的名字。 (我在這裏使用括號,因爲在MATLAB中,你可以這樣做(我一直都在這樣做),它可以工作,但在Rails中不起作用。)這樣做的明顯優點是,我可以在其他地方程序集the_field = "color"
,並有我相同的代碼返回狗的顏色,而不是名稱。
我試着這樣做:
Dog.find(d.id, :select=>the_field)
但返回一個Dog對象,不只是含有狗的名字的字符串。而且,由於在代碼中,我不知道哪個字段被調用,我不知道如何只提取包含我想要的字段的字符串。
所以希望這一切都有道理,並希望有一些人知道如何做到這一點。
謝謝!
Q
艾哈! `send()`命令正是我所需要的。輝煌。謝謝。 – Quad 2011-02-03 01:06:01